blob: 0536d0f3bb29177ee65578e2cce34816c32c1454 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.wst.ws.internal.registry;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.ExtendedMetaData;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
/**
* Patterned after the ResourceFactory classes generated
* by the EMF tools, this generic factory handles creation
* of EMF resources for XML documents in general.
*/
public class GenericResourceFactory extends XMLResourceFactoryImpl
{
/**
* Holds an instance of <code>ExtendedMetaData</code>
* for associating extended metadata with the
* <code>Resource</code> returned by <code>createResource</code>.
*/
protected ExtendedMetaData extendedMetaData;
/**
* Constructs a new <code>GenericResourceFactory</code>.
*/
public GenericResourceFactory()
{
super();
extendedMetaData = ExtendedMetaData.INSTANCE;
}
/* (non-Javadoc)
* @see org.eclipse.emf.ecore.resource.Resource$Factory#createResource(org.eclipse.emf.common.util.URI)
*/
public Resource createResource(URI uri)
{
XMLResource result = new XMLResourceImpl(uri);
result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
return result;
}
}