/******************************************************************************* * Copyright (c) 2011 Guillaume Hillairet. * 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: * Guillaume Hillairet - initial API and implementation *******************************************************************************/ package com.emf4sw.rdf.resource; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.Resource.Factory; /** * * @author <a href="mailto:g.hillairet at gmail.com">Guillaume Hillairet</a> * @since 0.5.0 */ public enum RDFFormats { RDF_XML_FORMAT { public String value() {return "RDF/XML"; } public String extension() {return ".rdf"; } }, RDF_XML_ABBREV_FORMAT { public String value() {return "RDF/XML-ABBREV"; } public String extension() {return ".rdf"; } }, TRIPLE_FORMAT { public String value() {return "N-TRIPLES"; } public String extension() {return ".nt"; } }, N3_FORMAT { public String value() {return "N3"; } public String extension() {return ".n3"; } }, TURTLE_FORMAT { public String value() {return "TTL"; } public String extension() {return ".ttl"; } }, XMI_FORMAT { public String value() {return "XMI"; } public String extension() {return ".xmi"; } }; public abstract String value(); public abstract String extension(); public static Resource.Factory factory(RDFFormats format) { return (Factory) Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().get(format.extension().substring(1)); } }