/**
* <copyright>
* </copyright>
*
*
*/
package org.reuseware.air.language.abstractsyntax.resource.as.mopp;
public class AsNewFileContentProvider {
public org.reuseware.air.language.abstractsyntax.resource.as.IAsMetaInformation getMetaInformation() {
return new org.reuseware.air.language.abstractsyntax.resource.as.mopp.AsMetaInformation();
}
public java.lang.String getNewFileContent(java.lang.String newFileName) {
return getExampleContent(new org.eclipse.emf.ecore.EClass[] {
org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getAbstractSyntax(),
}, getMetaInformation().getClassesWithSyntax(), newFileName);
}
protected String getExampleContent(org.eclipse.emf.ecore.EClass[] startClasses, org.eclipse.emf.ecore.EClass[] allClassesWithSyntax, java.lang.String newFileName) {
String content = "";
for (org.eclipse.emf.ecore.EClass next : startClasses) {
content = getExampleContent(next, allClassesWithSyntax, newFileName);
if (content.trim().length() > 0) {
break;
}
}
return content;
}
protected String getExampleContent(org.eclipse.emf.ecore.EClass eClass, org.eclipse.emf.ecore.EClass[] allClassesWithSyntax, java.lang.String newFileName) {
// create a minimal model
org.eclipse.emf.ecore.EObject root = new org.reuseware.air.language.abstractsyntax.resource.as.util.AsMinimalModelHelper().getMinimalModel(eClass, allClassesWithSyntax, newFileName);
// use printer to get text for model
java.io.ByteArrayOutputStream buffer = new java.io.ByteArrayOutputStream();
org.reuseware.air.language.abstractsyntax.resource.as.IAsTextPrinter printer = getPrinter(buffer);
try {
printer.print(root);
} catch (java.io.IOException e) {
org.reuseware.air.language.abstractsyntax.resource.as.mopp.AsPlugin.logError("Exception while generating example content.", e);
}
return buffer.toString();
}
public org.reuseware.air.language.abstractsyntax.resource.as.IAsTextPrinter getPrinter(java.io.OutputStream outputStream) {
return getMetaInformation().createPrinter(outputStream, new org.reuseware.air.language.abstractsyntax.resource.as.mopp.AsResource());
}
}