/** * <copyright> * </copyright> * * */ package org.emftext.term.propositional.expression.resource.expression.mopp; public class ExpressionNewFileContentProvider { public org.emftext.term.propositional.expression.resource.expression.IExpressionMetaInformation getMetaInformation() { return new org.emftext.term.propositional.expression.resource.expression.mopp.ExpressionMetaInformation(); } public String getNewFileContent(String newFileName) { return getExampleContent(new org.eclipse.emf.ecore.EClass[] { org.emftext.term.propositional.expression.TermPackage.eINSTANCE.getConstraint(), }, getMetaInformation().getClassesWithSyntax(), newFileName); } protected String getExampleContent(org.eclipse.emf.ecore.EClass[] startClasses, org.eclipse.emf.ecore.EClass[] allClassesWithSyntax, 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, String newFileName) { // create a minimal model org.eclipse.emf.ecore.EObject root = new org.emftext.term.propositional.expression.resource.expression.util.ExpressionMinimalModelHelper().getMinimalModel(eClass, allClassesWithSyntax, newFileName); if (root == null) { // could not create a minimal model. returning an empty document is the best we // can do. return ""; } // use printer to get text for model java.io.ByteArrayOutputStream buffer = new java.io.ByteArrayOutputStream(); org.emftext.term.propositional.expression.resource.expression.IExpressionTextPrinter printer = getPrinter(buffer); try { printer.print(root); } catch (java.io.IOException e) { new org.emftext.term.propositional.expression.resource.expression.util.ExpressionRuntimeUtil().logError("Exception while generating example content.", e); } return buffer.toString(); } public org.emftext.term.propositional.expression.resource.expression.IExpressionTextPrinter getPrinter(java.io.OutputStream outputStream) { return getMetaInformation().createPrinter(outputStream, new org.emftext.term.propositional.expression.resource.expression.mopp.ExpressionResource()); } }