[eclipse/xtext#1952] ported xtend code 2 java

Signed-off-by: Christian Dietrich <christian.dietrich@itemis.de>
This commit is contained in:
Christian Dietrich 2021-06-01 15:42:34 +02:00
parent ae52a5385b
commit 7bf3dbbb4d
3 changed files with 199 additions and 453 deletions

View file

@ -0,0 +1,199 @@
/**
* Copyright (c) 2011, 2021 itemis AG (http://www.itemis.eu) and others.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.eclipse.xtext.xtext.generator.util;
import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
import org.eclipse.emf.codegen.ecore.genmodel.GenClassifier;
import org.eclipse.emf.codegen.ecore.genmodel.GenDataType;
import org.eclipse.emf.codegen.ecore.genmodel.GenEnum;
import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2;
import com.google.common.base.Objects;
import com.google.common.base.Strings;
public class GenModelUtil2 {
public static GenClass getGenClass(EClass cls, ResourceSet resourceSet) {
return (GenClass) GenModelUtil2.getGenClassifier(cls, resourceSet);
}
public static GenClassifier getGenClassifier(EClassifier cls, ResourceSet resourceSet) {
GenPackage genPackage = GenModelUtil2.getGenPackage(cls.getEPackage(), resourceSet);
for (GenClassifier genCls : genPackage.getGenClassifiers()) {
if (Objects.equal(cls.getName(), genCls.getEcoreClassifier().getName())) {
return genCls;
}
}
throw new RuntimeException("No GenClassifier named '" + cls.getName() + "' found in GenModel " + genPackage.eResource().getURI());
}
public static GenDataType getGenDataType(EDataType dt, ResourceSet resourceSet) {
return (GenDataType) GenModelUtil2.getGenClassifier(dt, resourceSet);
}
public static GenEnum getGenEnum(EEnum en, ResourceSet resourceSet) {
return (GenEnum) GenModelUtil2.getGenClassifier(en, resourceSet);
}
public static GenFeature getGenFeature(EStructuralFeature feature, ResourceSet resourceSet) {
GenClass genCls = (GenClass) GenModelUtil2.getGenClassifier(feature.getEContainingClass(), resourceSet);
for (GenFeature genFeat : genCls.getGenFeatures()) {
if (Objects.equal(feature.getName(), genFeat.getEcoreFeature().getName())) {
return genFeat;
}
}
throw new RuntimeException("No GenFeature named '" + feature.getName() + "' found in GenClass '" + genCls + "' from GenModel " + genCls.eResource().getURI());
}
public static GenPackage getGenPackage(EPackage pkg, ResourceSet resourceSet) {
String nsURI = pkg.getNsURI();
String location = null;
Resource packageResource = pkg.eResource();
URI packageResourceUri = null;
if (packageResource != null) {
packageResourceUri = packageResource.getURI();
}
if (packageResourceUri != null) {
location = pkg.eResource().getURI().toString();
}
Resource genModelResource = GenModelUtil2.getGenModelResource(location, nsURI, resourceSet);
if (genModelResource != null) {
for (EObject model : genModelResource.getContents()) {
if (model instanceof GenModel) {
GenPackage genPkg = ((GenModel) model).findGenPackage(pkg);
if (genPkg != null) {
genPkg.getEcorePackage().getEClassifiers();
return genPkg;
}
}
}
throw new RuntimeException("No GenPackage for NsURI " + nsURI + " found in " + genModelResource.getURI());
}
throw new RuntimeException("No GenPackage for NsURI " + nsURI + ".");
}
public static Resource getGenModelResource(String locationInfo, String nsURI,
ResourceSet resourceSet) {
URI genModelURI = EcorePlugin.getEPackageNsURIToGenModelLocationMap(false).get(nsURI);
if (genModelURI == null) {
if (Objects.equal(EcorePackage.eNS_URI, nsURI)) { // If we really want to use the registered ecore ...
return null; // look into the resource set to find a genpackage
// for the given URI
}
for (Resource res : resourceSet.getResources()) {
// We only look into the first level, as genmodels are usually
// among the top level elements.
// This is just to avoid traversing all eobjects in the resource
// set.
for (EObject obj : res.getContents()) {
if (obj instanceof GenModel) {
for (GenPackage genPackage : ((GenModel) obj).getGenPackages()) {
if (Objects.equal(genPackage.getNSURI(), nsURI)) {
return genPackage.eResource();
}
}
}
}
}
String message =
"Could not find a GenModel for EPackage '" + nsURI +"'" + (Strings.isNullOrEmpty(locationInfo) ? "" : " from " + locationInfo) + ".\n" +
"If the missing GenModel has been generated via " + EMFGeneratorFragment2.class.getSimpleName() + ", make sure to run it first in the workflow.\n" +
"If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).\n";
throw new RuntimeException(message);
}
if (resourceSet == null) {
throw new RuntimeException("There is no ResourceSet for EPackage '" + nsURI
+ "'. Please make sure the EPackage has been loaded from a .ecore file and not from the generated Java file.");
}
Resource genModelResource = resourceSet.getResource(genModelURI, true);
if (genModelResource == null) {
throw new RuntimeException("Error loading GenModel " + genModelURI);
}
for (EObject content : genModelResource.getContents()) {
if (content instanceof GenModel) {
((GenModel) content).reconcile();
}
}
return genModelResource;
}
public static String getPackageLiteral() {
return "eINSTANCE";
}
public static String getIntLiteral(EClass clazz, EStructuralFeature feature,
ResourceSet resourceSet) {
return GenModelUtil2.getGenClass(clazz, resourceSet)
.getFeatureID(GenModelUtil2.getGenFeature(feature, resourceSet));
}
public static String getIntLiteral(EClassifier classifier, ResourceSet resourceSet) {
return GenModelUtil2.getGenClassifier(classifier, resourceSet).getClassifierID();
}
public static String getTypeLiteral(EClassifier classifier, ResourceSet resourceSet) {
GenClassifier genClassifier = GenModelUtil2.getGenClassifier(classifier, resourceSet);
if (genClassifier.getGenPackage().isLiteralsInterface()) {
return "Literals." + genClassifier.getClassifierID();
} else {
return "eINSTANCE.get" + genClassifier.getClassifierAccessorName() + "()";
}
}
public static String getFeatureLiteral(EStructuralFeature feature, ResourceSet resourceSet) {
return GenModelUtil2.getFeatureLiteral(GenModelUtil2.getGenFeature(feature, resourceSet), resourceSet);
}
public static String getFeatureLiteral(GenFeature genFeature, ResourceSet resourceSet) {
if (genFeature.getGenPackage().isLiteralsInterface()) {
return "Literals." + genFeature.getGenClass().getFeatureID(genFeature);
} else {
return "eINSTANCE.get" + genFeature.getFeatureAccessorName() + "()";
}
}
public static String getJavaTypeName(EClassifier classifier, ResourceSet resourceSet) {
GenClassifier genClassifier = GenModelUtil2.getGenClassifier(classifier, resourceSet);
if (genClassifier instanceof GenClass) {
return ((GenClass) genClassifier).getQualifiedInterfaceName();
} else {
return ((GenDataType) genClassifier).getQualifiedInstanceClassName();
}
}
public static String getGetAccessor(EStructuralFeature feature, ResourceSet resourceSet) {
return GenModelUtil2.getGetAccessor(GenModelUtil2.getGenFeature(feature, resourceSet), resourceSet);
}
public static String getGetAccessor(GenFeature genFeature, ResourceSet resourceSet) {
GenClass genClass = genFeature.getGenClass();
if (genClass.isMapEntry()) {
if (Objects.equal(genFeature, genClass.getMapEntryKeyFeature())) {
return "getKey";
}
if (Objects.equal(genFeature, genClass.getMapEntryValueFeature())) {
return "getValue";
}
}
return genFeature.getGetAccessor();
}
}

View file

@ -1,176 +0,0 @@
/*******************************************************************************
* Copyright (c) 2011, 2016 itemis AG (http://www.itemis.eu) and others.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
package org.eclipse.xtext.xtext.generator.util
import org.eclipse.emf.codegen.ecore.genmodel.GenClass
import org.eclipse.emf.codegen.ecore.genmodel.GenClassifier
import org.eclipse.emf.codegen.ecore.genmodel.GenDataType
import org.eclipse.emf.codegen.ecore.genmodel.GenEnum
import org.eclipse.emf.codegen.ecore.genmodel.GenFeature
import org.eclipse.emf.codegen.ecore.genmodel.GenModel
import org.eclipse.emf.codegen.ecore.genmodel.GenPackage
import org.eclipse.emf.ecore.EClass
import org.eclipse.emf.ecore.EClassifier
import org.eclipse.emf.ecore.EDataType
import org.eclipse.emf.ecore.EEnum
import org.eclipse.emf.ecore.EObject
import org.eclipse.emf.ecore.EPackage
import org.eclipse.emf.ecore.EStructuralFeature
import org.eclipse.emf.ecore.EcorePackage
import org.eclipse.emf.ecore.plugin.EcorePlugin
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.emf.ecore.resource.ResourceSet
import org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2
class GenModelUtil2 {
def static GenClass getGenClass(EClass cls, ResourceSet resourceSet) {
return getGenClassifier(cls, resourceSet) as GenClass
}
def static GenClassifier getGenClassifier(EClassifier cls, ResourceSet resourceSet) {
val genPackage = getGenPackage(cls.EPackage, resourceSet)
for (genCls : genPackage.genClassifiers) {
if (cls.name == genCls.ecoreClassifier.name) {
return genCls
}
}
throw new RuntimeException('''No GenClassifier named '«cls.name»' found in GenModel «genPackage.eResource.URI»''')
}
def static GenDataType getGenDataType(EDataType dt, ResourceSet resourceSet) {
return getGenClassifier(dt, resourceSet) as GenDataType
}
def static GenEnum getGenEnum(EEnum en, ResourceSet resourceSet) {
return getGenClassifier(en, resourceSet) as GenEnum
}
def static GenFeature getGenFeature(EStructuralFeature feature, ResourceSet resourceSet) {
val genCls = getGenClassifier(feature.EContainingClass, resourceSet) as GenClass
for (genFeat : genCls.genFeatures) {
if (feature.name == genFeat.ecoreFeature.name) {
return genFeat
}
}
throw new RuntimeException('''No GenFeature named '«feature.name»' found in GenClass '«genCls»' from GenModel«genCls.eResource.URI»''')
}
def static GenPackage getGenPackage(EPackage pkg, ResourceSet resourceSet) {
val nsURI = pkg.nsURI
var String location
if (pkg.eResource?.URI !== null)
location = pkg.eResource.URI.toString
val genModelResource = getGenModelResource(location, nsURI, resourceSet)
if (genModelResource !== null) {
for (model : genModelResource.contents) {
if (model instanceof GenModel) {
val genPkg = model.findGenPackage(pkg)
if (genPkg !== null) {
genPkg.getEcorePackage.getEClassifiers()
return genPkg
}
}
}
throw new RuntimeException('''No GenPackage for NsURI «nsURI» found in «genModelResource.URI»''')
}
throw new RuntimeException('''No GenPackage for NsURI «nsURI».''')
}
def static Resource getGenModelResource(String locationInfo, String nsURI, ResourceSet resourceSet) {
val genModelURI = EcorePlugin.getEPackageNsURIToGenModelLocationMap(false).get(nsURI)
if (genModelURI === null) {
if (EcorePackage.eNS_URI == nsURI) // If we really want to use the registered ecore ...
return null // look into the resource set to find a genpackage for the given URI
for (res : resourceSet.resources) {
// We only look into the first level, as genmodels are usually among the top level elements.
// This is just to avoid traversing all eobjects in the resource set.
for (obj : res.contents) {
if (obj instanceof GenModel) {
for (genPackage : obj.genPackages) {
if (genPackage.NSURI == nsURI) {
return genPackage.eResource
}
}
}
}
}
throw new RuntimeException('''
Could not find a GenModel for EPackage '«nsURI»'«IF !locationInfo.nullOrEmpty» from «locationInfo»«ENDIF».
If the missing GenModel has been generated via «EMFGeneratorFragment2.simpleName», make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).
''')
}
if (resourceSet === null)
throw new RuntimeException('''There is no ResourceSet for EPackage '«nsURI»'. Please make sure the EPackage has been loaded from a .ecore file and not from the generated Java file.''')
val genModelResource = resourceSet.getResource(genModelURI, true)
if (genModelResource === null)
throw new RuntimeException('''Error loading GenModel «genModelURI»''')
for (EObject content : genModelResource.contents) {
if (content instanceof GenModel)
content.reconcile()
}
return genModelResource
}
def static String getPackageLiteral() {
'eINSTANCE'
}
def static String getIntLiteral(EClass clazz, EStructuralFeature feature, ResourceSet resourceSet) {
getGenClass(clazz, resourceSet).getFeatureID(getGenFeature(feature, resourceSet))
}
def static String getIntLiteral(EClassifier classifier, ResourceSet resourceSet) {
getGenClassifier(classifier, resourceSet).classifierID
}
def static String getTypeLiteral(EClassifier classifier, ResourceSet resourceSet) {
val genClassifier = getGenClassifier(classifier, resourceSet)
if (genClassifier.genPackage.isLiteralsInterface)
return 'Literals.' + genClassifier.classifierID
else
return 'eINSTANCE.get' + genClassifier.classifierAccessorName + '()'
}
def static String getFeatureLiteral(EStructuralFeature feature, ResourceSet resourceSet) {
return getFeatureLiteral(getGenFeature(feature, resourceSet), resourceSet)
}
def static String getFeatureLiteral(GenFeature genFeature, ResourceSet resourceSet) {
if (genFeature.genPackage.isLiteralsInterface)
return 'Literals.' + genFeature.genClass.getFeatureID(genFeature)
else
return 'eINSTANCE.get' + genFeature.featureAccessorName + '()'
}
def static String getJavaTypeName(EClassifier classifier, ResourceSet resourceSet) {
val genClassifier = getGenClassifier(classifier, resourceSet)
if (genClassifier instanceof GenClass)
return genClassifier.qualifiedInterfaceName
else
return (genClassifier as GenDataType).qualifiedInstanceClassName
}
def static String getGetAccessor(EStructuralFeature feature, ResourceSet resourceSet) {
return getGetAccessor(getGenFeature(feature, resourceSet), resourceSet)
}
def static String getGetAccessor(GenFeature genFeature, ResourceSet resourceSet) {
val genClass = genFeature.genClass
if (genClass.isMapEntry) {
if (genFeature == genClass.mapEntryKeyFeature)
return 'getKey'
if (genFeature == genClass.mapEntryValueFeature)
return 'getValue'
}
return genFeature.getAccessor
}
}

View file

@ -1,277 +0,0 @@
/**
* Copyright (c) 2011, 2016 itemis AG (http://www.itemis.eu) and others.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.eclipse.xtext.xtext.generator.util;
import com.google.common.base.Objects;
import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
import org.eclipse.emf.codegen.ecore.genmodel.GenClassifier;
import org.eclipse.emf.codegen.ecore.genmodel.GenDataType;
import org.eclipse.emf.codegen.ecore.genmodel.GenEnum;
import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.StringExtensions;
import org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2;
@SuppressWarnings("all")
public class GenModelUtil2 {
public static GenClass getGenClass(final EClass cls, final ResourceSet resourceSet) {
GenClassifier _genClassifier = GenModelUtil2.getGenClassifier(cls, resourceSet);
return ((GenClass) _genClassifier);
}
public static GenClassifier getGenClassifier(final EClassifier cls, final ResourceSet resourceSet) {
final GenPackage genPackage = GenModelUtil2.getGenPackage(cls.getEPackage(), resourceSet);
EList<GenClassifier> _genClassifiers = genPackage.getGenClassifiers();
for (final GenClassifier genCls : _genClassifiers) {
String _name = cls.getName();
String _name_1 = genCls.getEcoreClassifier().getName();
boolean _equals = Objects.equal(_name, _name_1);
if (_equals) {
return genCls;
}
}
StringConcatenation _builder = new StringConcatenation();
_builder.append("No GenClassifier named \'");
String _name_2 = cls.getName();
_builder.append(_name_2);
_builder.append("\' found in GenModel ");
URI _uRI = genPackage.eResource().getURI();
_builder.append(_uRI);
throw new RuntimeException(_builder.toString());
}
public static GenDataType getGenDataType(final EDataType dt, final ResourceSet resourceSet) {
GenClassifier _genClassifier = GenModelUtil2.getGenClassifier(dt, resourceSet);
return ((GenDataType) _genClassifier);
}
public static GenEnum getGenEnum(final EEnum en, final ResourceSet resourceSet) {
GenClassifier _genClassifier = GenModelUtil2.getGenClassifier(en, resourceSet);
return ((GenEnum) _genClassifier);
}
public static GenFeature getGenFeature(final EStructuralFeature feature, final ResourceSet resourceSet) {
GenClassifier _genClassifier = GenModelUtil2.getGenClassifier(feature.getEContainingClass(), resourceSet);
final GenClass genCls = ((GenClass) _genClassifier);
EList<GenFeature> _genFeatures = genCls.getGenFeatures();
for (final GenFeature genFeat : _genFeatures) {
String _name = feature.getName();
String _name_1 = genFeat.getEcoreFeature().getName();
boolean _equals = Objects.equal(_name, _name_1);
if (_equals) {
return genFeat;
}
}
StringConcatenation _builder = new StringConcatenation();
_builder.append("No GenFeature named \'");
String _name_2 = feature.getName();
_builder.append(_name_2);
_builder.append("\' found in GenClass \'");
_builder.append(genCls);
_builder.append("\' from GenModel");
URI _uRI = genCls.eResource().getURI();
_builder.append(_uRI);
throw new RuntimeException(_builder.toString());
}
public static GenPackage getGenPackage(final EPackage pkg, final ResourceSet resourceSet) {
final String nsURI = pkg.getNsURI();
String location = null;
Resource _eResource = pkg.eResource();
URI _uRI = null;
if (_eResource!=null) {
_uRI=_eResource.getURI();
}
boolean _tripleNotEquals = (_uRI != null);
if (_tripleNotEquals) {
location = pkg.eResource().getURI().toString();
}
final Resource genModelResource = GenModelUtil2.getGenModelResource(location, nsURI, resourceSet);
if ((genModelResource != null)) {
EList<EObject> _contents = genModelResource.getContents();
for (final EObject model : _contents) {
if ((model instanceof GenModel)) {
final GenPackage genPkg = ((GenModel)model).findGenPackage(pkg);
if ((genPkg != null)) {
genPkg.getEcorePackage().getEClassifiers();
return genPkg;
}
}
}
StringConcatenation _builder = new StringConcatenation();
_builder.append("No GenPackage for NsURI ");
_builder.append(nsURI);
_builder.append(" found in ");
URI _uRI_1 = genModelResource.getURI();
_builder.append(_uRI_1);
throw new RuntimeException(_builder.toString());
}
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("No GenPackage for NsURI ");
_builder_1.append(nsURI);
_builder_1.append(".");
throw new RuntimeException(_builder_1.toString());
}
public static Resource getGenModelResource(final String locationInfo, final String nsURI, final ResourceSet resourceSet) {
final URI genModelURI = EcorePlugin.getEPackageNsURIToGenModelLocationMap(false).get(nsURI);
if ((genModelURI == null)) {
boolean _equals = Objects.equal(EcorePackage.eNS_URI, nsURI);
if (_equals) {
return null;
}
EList<Resource> _resources = resourceSet.getResources();
for (final Resource res : _resources) {
EList<EObject> _contents = res.getContents();
for (final EObject obj : _contents) {
if ((obj instanceof GenModel)) {
EList<GenPackage> _genPackages = ((GenModel)obj).getGenPackages();
for (final GenPackage genPackage : _genPackages) {
String _nSURI = genPackage.getNSURI();
boolean _equals_1 = Objects.equal(_nSURI, nsURI);
if (_equals_1) {
return genPackage.eResource();
}
}
}
}
}
StringConcatenation _builder = new StringConcatenation();
_builder.append("Could not find a GenModel for EPackage \'");
_builder.append(nsURI);
_builder.append("\'");
{
boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(locationInfo);
boolean _not = (!_isNullOrEmpty);
if (_not) {
_builder.append(" from ");
_builder.append(locationInfo);
}
}
_builder.append(".");
_builder.newLineIfNotEmpty();
_builder.append("If the missing GenModel has been generated via ");
String _simpleName = EMFGeneratorFragment2.class.getSimpleName();
_builder.append(_simpleName);
_builder.append(", make sure to run it first in the workflow.");
_builder.newLineIfNotEmpty();
_builder.append("If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).");
_builder.newLine();
throw new RuntimeException(_builder.toString());
}
if ((resourceSet == null)) {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("There is no ResourceSet for EPackage \'");
_builder_1.append(nsURI);
_builder_1.append("\'. Please make sure the EPackage has been loaded from a .ecore file and not from the generated Java file.");
throw new RuntimeException(_builder_1.toString());
}
final Resource genModelResource = resourceSet.getResource(genModelURI, true);
if ((genModelResource == null)) {
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("Error loading GenModel ");
_builder_2.append(genModelURI);
throw new RuntimeException(_builder_2.toString());
}
EList<EObject> _contents_1 = genModelResource.getContents();
for (final EObject content : _contents_1) {
if ((content instanceof GenModel)) {
((GenModel)content).reconcile();
}
}
return genModelResource;
}
public static String getPackageLiteral() {
return "eINSTANCE";
}
public static String getIntLiteral(final EClass clazz, final EStructuralFeature feature, final ResourceSet resourceSet) {
return GenModelUtil2.getGenClass(clazz, resourceSet).getFeatureID(GenModelUtil2.getGenFeature(feature, resourceSet));
}
public static String getIntLiteral(final EClassifier classifier, final ResourceSet resourceSet) {
return GenModelUtil2.getGenClassifier(classifier, resourceSet).getClassifierID();
}
public static String getTypeLiteral(final EClassifier classifier, final ResourceSet resourceSet) {
final GenClassifier genClassifier = GenModelUtil2.getGenClassifier(classifier, resourceSet);
boolean _isLiteralsInterface = genClassifier.getGenPackage().isLiteralsInterface();
if (_isLiteralsInterface) {
String _classifierID = genClassifier.getClassifierID();
return ("Literals." + _classifierID);
} else {
String _classifierAccessorName = genClassifier.getClassifierAccessorName();
String _plus = ("eINSTANCE.get" + _classifierAccessorName);
return (_plus + "()");
}
}
public static String getFeatureLiteral(final EStructuralFeature feature, final ResourceSet resourceSet) {
return GenModelUtil2.getFeatureLiteral(GenModelUtil2.getGenFeature(feature, resourceSet), resourceSet);
}
public static String getFeatureLiteral(final GenFeature genFeature, final ResourceSet resourceSet) {
boolean _isLiteralsInterface = genFeature.getGenPackage().isLiteralsInterface();
if (_isLiteralsInterface) {
String _featureID = genFeature.getGenClass().getFeatureID(genFeature);
return ("Literals." + _featureID);
} else {
String _featureAccessorName = genFeature.getFeatureAccessorName();
String _plus = ("eINSTANCE.get" + _featureAccessorName);
return (_plus + "()");
}
}
public static String getJavaTypeName(final EClassifier classifier, final ResourceSet resourceSet) {
final GenClassifier genClassifier = GenModelUtil2.getGenClassifier(classifier, resourceSet);
if ((genClassifier instanceof GenClass)) {
return ((GenClass)genClassifier).getQualifiedInterfaceName();
} else {
return ((GenDataType) genClassifier).getQualifiedInstanceClassName();
}
}
public static String getGetAccessor(final EStructuralFeature feature, final ResourceSet resourceSet) {
return GenModelUtil2.getGetAccessor(GenModelUtil2.getGenFeature(feature, resourceSet), resourceSet);
}
public static String getGetAccessor(final GenFeature genFeature, final ResourceSet resourceSet) {
final GenClass genClass = genFeature.getGenClass();
boolean _isMapEntry = genClass.isMapEntry();
if (_isMapEntry) {
GenFeature _mapEntryKeyFeature = genClass.getMapEntryKeyFeature();
boolean _equals = Objects.equal(genFeature, _mapEntryKeyFeature);
if (_equals) {
return "getKey";
}
GenFeature _mapEntryValueFeature = genClass.getMapEntryValueFeature();
boolean _equals_1 = Objects.equal(genFeature, _mapEntryValueFeature);
if (_equals_1) {
return "getValue";
}
}
return genFeature.getGetAccessor();
}
}