package org.reuseware.air.language.cmsl.resource.cmsl; public class CmslResource extends org.emftext.runtime.resource.impl.AbstractTextResource { private org.emftext.runtime.resource.IReferenceResolverSwitch resolverSwitch; public CmslResource() { super(); } public CmslResource(org.eclipse.emf.common.util.URI uri) { super(uri); } protected void doLoad(java.io.InputStream inputStream, java.util.Map<?,?> options) throws java.io.IOException { resetLocationMap(); java.lang.String encoding = null; java.io.InputStream actualInputStream = inputStream; java.lang.Object inputStreamPreProcessorProvider = null; if (options!=null) { inputStreamPreProcessorProvider = options.get(org.emftext.runtime.IOptions.INPUT_STREAM_PREPROCESSOR_PROVIDER); } if (inputStreamPreProcessorProvider != null) { if (inputStreamPreProcessorProvider instanceof org.emftext.runtime.IInputStreamProcessorProvider) { org.emftext.runtime.IInputStreamProcessorProvider provider = (org.emftext.runtime.IInputStreamProcessorProvider) inputStreamPreProcessorProvider; org.emftext.runtime.InputStreamProcessor processor = provider.getInputStreamProcessor(inputStream); actualInputStream = processor; encoding = processor.getOutputEncoding(); } } org.reuseware.air.language.cmsl.resource.cmsl.CmslParser parser; if (encoding == null) { parser = new CmslParser(new org.antlr.runtime.CommonTokenStream(new CmslLexer(new org.antlr.runtime.ANTLRInputStream(actualInputStream)))); } else { parser = new CmslParser(new org.antlr.runtime.CommonTokenStream(new CmslLexer(new org.antlr.runtime.ANTLRInputStream(actualInputStream, encoding)))); } parser.setResource(this); parser.setOptions(options); org.emftext.runtime.resource.IReferenceResolverSwitch referenceResolverSwitch = getReferenceResolverSwitch(); referenceResolverSwitch.setOptions(options); parser.setReferenceResolverSwitch((org.reuseware.air.language.cmsl.resource.cmsl.CmslReferenceResolverSwitch) referenceResolverSwitch); org.eclipse.emf.ecore.EObject root = parser.parse(); if (root != null) { getContents().add(root); } getReferenceResolverSwitch().setOptions(options); runPostProcessors(options); } protected void doSave(java.io.OutputStream outputStream, java.util.Map<?,?> options) throws java.io.IOException { org.reuseware.air.language.cmsl.resource.cmsl.CmslPrinter printer = new org.reuseware.air.language.cmsl.resource.cmsl.CmslPrinter(outputStream, this); org.emftext.runtime.resource.IReferenceResolverSwitch referenceResolverSwitch = getReferenceResolverSwitch(); referenceResolverSwitch.setOptions(options); printer.setReferenceResolverSwitch((org.reuseware.air.language.cmsl.resource.cmsl.CmslReferenceResolverSwitch) referenceResolverSwitch); for(org.eclipse.emf.ecore.EObject root : getContents()) { printer.print(root); } } public String[] getTokenNames() { return new CmslParser(null).getTokenNames(); } @Override protected String getSyntaxName() { return "cmsl"; } public Object getScanner() { return new CmslLexer(); } public org.emftext.runtime.resource.IReferenceResolverSwitch getReferenceResolverSwitch() { if (resolverSwitch == null) { resolverSwitch = new org.reuseware.air.language.cmsl.resource.cmsl.CmslReferenceResolverSwitch(); } return resolverSwitch; } protected void doUnload(){ super.doUnload(); resolverSwitch = null; } public org.emftext.runtime.resource.ITokenStyle getDefaultTokenStyle(java.lang.String tokenName) { return null; } }