<% | |
/** | |
* <copyright> | |
* | |
* Copyright (c) 2002-2007 IBM Corporation and others. | |
* 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: | |
* IBM - Initial API and implementation | |
* | |
* </copyright> | |
*/ | |
%> | |
<%final GenClass genClass = (GenClass)((Object[])argument)[0]; final GenPackage genPackage = genClass.getGenPackage(); final GenModel genModel=genPackage.getGenModel();%> | |
<%final boolean isInterface = Boolean.TRUE.equals(((Object[])argument)[1]); final boolean isImplementation = Boolean.TRUE.equals(((Object[])argument)[2]);%> | |
<%final String publicStaticFinalFlag = isImplementation ? "public static final " : "";%> | |
<%final String singleWildcard = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? "<?>" : "";%> | |
<%final String negativeOffsetCorrection = genClass.hasOffsetCorrection() ? " - " + genClass.getOffsetCorrectionField(null) : "";%> | |
<%final String positiveOffsetCorrection = genClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(null) : "";%> | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%> | |
<%if (isInterface) {%> | |
package <%=genPackage.getInterfacePackageName()%>; | |
<%} else {%> | |
package <%=genPackage.getClassPackageName()%>; | |
<%}%> | |
<%genModel.markImportLocation(stringBuffer, genPackage);%> | |
<%if (isInterface) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* A representation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'. | |
* <!-- end-user-doc --> | |
<%if (genClass.hasDocumentation()) {%> | |
* | |
* <!-- begin-model-doc --> | |
* <%=genClass.getDocumentation(genModel.getIndentation(stringBuffer))%> | |
* <!-- end-model-doc --> | |
<%}%> | |
* | |
<%if (!genClass.getGenFeatures().isEmpty()) {%> | |
* <p> | |
* The following features are supported: | |
* <ul> | |
<%for (GenFeature genFeature : genClass.getGenFeatures()) {%> | |
<%if (!genFeature.isSuppressedGetVisibility()) {%> | |
* <li>{@link <%=genClass.getQualifiedInterfaceName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li> | |
<%}%> | |
<%}%> | |
* </ul> | |
* </p> | |
<%}%> | |
* | |
<%if (!genModel.isSuppressEMFMetaData()) {%> | |
* @see <%=genPackage.getQualifiedPackageInterfaceName()%>#get<%=genClass.getClassifierAccessorName()%>() | |
<%}%> | |
<%if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genClass.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;%> | |
* @model <%=modelInfo%> | |
<%} else {%> | |
* <%=modelInfo%> | |
<%}} if (first) {%> | |
* @model | |
<%}}%> | |
<%if (genClass.needsRootExtendsInterfaceExtendsTag()) {%> | |
* @extends <%=genModel.getImportedName(genModel.getRootExtendsInterface())%> | |
<%}%> | |
* @generated | |
*/ | |
<%} else {%> | |
/** | |
* <!-- begin-user-doc --> | |
* An implementation of the model object '<em><b><%=genClass.getFormattedName()%></b></em>'. | |
* <!-- end-user-doc --> | |
* <p> | |
<%if (!genClass.getImplementedGenFeatures().isEmpty()) {%> | |
* The following features are implemented: | |
* <ul> | |
<%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) {%> | |
* <li>{@link <%=genClass.getQualifiedClassName()%>#<%=genFeature.getGetAccessor()%> <em><%=genFeature.getFormattedName()%></em>}</li> | |
<%}%> | |
* </ul> | |
<%}%> | |
* </p> | |
* | |
* @generated | |
*/ | |
<%}%> | |
<%if (isImplementation) {%> | |
public<%if (genClass.isAbstract()) {%> abstract<%}%> class <%=genClass.getClassName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getClassExtends()%><%=genClass.getClassImplements()%> | |
<%} else {%> | |
public interface <%=genClass.getInterfaceName()%><%=genClass.getTypeParameters().trim()%><%=genClass.getInterfaceExtends()%> | |
<%}%> | |
{ | |
<%if (genModel.hasCopyrightField()) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%=publicStaticFinalFlag%><%=genModel.getImportedName("java.lang.String")%> copyright = <%=genModel.getCopyrightFieldLiteral()%>;<%=genModel.getNonNLS()%> | |
<%}%> | |
<%if (isImplementation && genModel.getDriverNumber() != null) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public static final <%=genModel.getImportedName("java.lang.String")%> mofDriverNumber = "<%=genModel.getDriverNumber()%>";<%=genModel.getNonNLS()%> | |
<%}%> | |
<%if (isImplementation && genClass.isJavaIOSerializable()) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
private static final long serialVersionUID = 1L; | |
<%}%> | |
<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%> | |
<%if (eVirtualValuesField != null) {%> | |
/** | |
* An array of objects representing the values of non-primitive features. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
protected Object[] <%=eVirtualValuesField%>; | |
<%}%> | |
<%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%> | |
<%if (!eVirtualIndexBitFields.isEmpty()) {%> | |
<%for (String eVirtualIndexBitField : eVirtualIndexBitFields) {%> | |
/** | |
* A bit field representing the indices of non-primitive feature values. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
protected int <%=eVirtualIndexBitField%>; | |
<%}%> | |
<%}%> | |
<%}%> | |
<%}%> | |
<%if (isImplementation && genClass.isModelRoot() && genModel.isBooleanFlagsEnabled() && genModel.getBooleanFlagsReservedBits() == -1) {%> | |
/** | |
* A set of bit flags representing the values of boolean attributes and whether unsettable features have been set. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
* @ordered | |
*/ | |
protected int <%=genModel.getBooleanFlagsField()%> = 0; | |
<%}%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation()) {%> | |
<%for (GenFeature genFeature : genClass.getDeclaredFieldGenFeatures()) {%> | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.declaredFieldGenFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isInterface:isInterface,isImplementation:isImplementation,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection"%><%//Class/declaredFieldGenFeature.override.javajetinc%> | |
<%}%> | |
<%}%> | |
<%if (isImplementation && genClass.hasOffsetCorrection() && !genClass.getImplementedGenFeatures().isEmpty()) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
private static final int <%=genClass.getOffsetCorrectionField(null)%> = <%=genClass.getQualifiedClassifierAccessor()%>.getFeatureID(<%=genClass.getImplementedGenFeatures().get(0).getQualifiedFeatureAccessor()%>) - <%=genClass.getQualifiedFeatureID(genClass.getImplementedGenFeatures().get(0))%>; | |
<%}%> | |
<%if (isImplementation && genClass.hasOffsetCorrection() && !genModel.isReflectiveDelegation()) {%> | |
<%for (GenFeature genFeature : genClass.getImplementedGenFeatures()) { GenFeature reverseFeature = genFeature.getReverse();%> | |
<%if (reverseFeature != null && reverseFeature.getGenClass().hasOffsetCorrection()) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
private static final int <%=genClass.getOffsetCorrectionField(genFeature)%> = <%=reverseFeature.getGenClass().getQualifiedClassifierAccessor()%>.getFeatureID(<%=reverseFeature.getQualifiedFeatureAccessor()%>) - <%=reverseFeature.getGenClass().getQualifiedFeatureID(reverseFeature)%>; | |
<%}%> | |
<%}%> | |
<%}%> | |
<%if (isImplementation) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.isPublicConstructors()) {%>public<%} else {%>protected<%}%> <%=genClass.getClassName()%>() | |
{ | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.egfCustom.constructor.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isInterface:isInterface,isImplementation:isImplementation,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection"%> | |
<%for (GenFeature genFeature : genClass.getFlagGenFeatures("true")) {%> | |
<%=genClass.getFlagsField(genFeature)%> |= <%=genFeature.getUpperName()%>_EFLAG; | |
<%}%> | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
protected <%=genModel.getImportedName("org.eclipse.emf.ecore.EClass")%> eStaticClass() | |
{ | |
return <%=genClass.getQualifiedClassifierAccessor()%>; | |
} | |
<%}%> | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.reflectiveDelegation.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isInterface:isInterface,isImplementation:isImplementation,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection"%><%//Class/reflectiveDelegation.override.javajetinc%> | |
<%new Runnable() { public void run() {%> | |
<%for (GenFeature genFeature : (isImplementation ? genClass.getImplementedGenFeatures() : genClass.getDeclaredGenFeatures())) {%> | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genFeature.override" args="genFeature:genFeature,genClass:genClass,genPackage:genPackage,genModel:genModel,isInterface:isInterface,isImplementation:isImplementation,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection"%><%//Class/genFeature.override.javajetinc%> | |
<%}//for%> | |
<%}}.run();%> | |
<%for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass.getDeclaredGenOperations())) {%> | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.genOperation.override" args="genOperation:genOperation,genClass:genClass,genPackage:genPackage,genModel:genModel,isInterface:isInterface,isImplementation:isImplementation,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection"%><%//Class/implementedGenOperation.override.javajetinc%> | |
<%}//for%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseAddGenFeatures())) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useGenerics()) {%> | |
<%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%> | |
<%if (genFeature.isUncheckedCast()) {%> | |
@SuppressWarnings("unchecked") | |
<%break; }%> | |
<%}%> | |
<%}%> | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseAdd(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs) | |
{ | |
switch (featureID<%=negativeOffsetCorrection%>) | |
{ | |
<%for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {%> | |
case <%=genClass.getQualifiedFeatureID(genFeature)%>: | |
<%if (genFeature.isListType()) { String cast = "(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + (!genModel.useGenerics() ? ")" : "<" + genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + "<?>)");%> | |
<%if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {%> | |
return ((<%=cast%>(<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicAdd(otherEnd, msgs); | |
<%} else {%> | |
return (<%=cast%><%=genFeature.getGetAccessor()%>()).basicAdd(otherEnd, msgs); | |
<%}%> | |
<%} else if (genFeature.isContainer()) {%> | |
if (eInternalContainer() != null) | |
msgs = eBasicRemoveFromContainer(msgs); | |
<%if (genFeature.isBasicSet()) {%> | |
return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs); | |
<%} else {%> | |
return eBasicSetContainer(otherEnd, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs); | |
<%}%> | |
<%} else {%> | |
<%if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {%> | |
<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType(genClass)%>)eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>); | |
<%} else if (genFeature.isVolatile()) {%> | |
<%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%> = <%if (genFeature.isResolveProxies()) {%>basicGet<%=genFeature.getAccessorName()%><%} else {%><%=genFeature.getGetAccessor()%><%}%>(); | |
<%}%> | |
if (<%=genFeature.getSafeName()%> != null) | |
<%if (genFeature.isEffectiveContains()) {%> | |
msgs = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%>)<%=genFeature.getSafeName()%>).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - <%=genClass.getQualifiedFeatureID(genFeature)%><%=negativeOffsetCorrection%>, null, msgs); | |
<%} else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(reverseFeature) : "";%> | |
msgs = ((<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%>)<%=genFeature.getSafeName()%>).eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getImportedInterfaceName()%>.class, msgs); | |
<%}%> | |
return basicSet<%=genFeature.getAccessorName()%>((<%=genFeature.getImportedType(genClass)%>)otherEnd, msgs); | |
<%}%> | |
<%}%> | |
} | |
<%if (genModel.isMinimalReflectiveMethods()) {%> | |
return super.eInverseAdd(otherEnd, featureID, msgs); | |
<%} else {%> | |
return eDynamicInverseAdd(otherEnd, featureID, msgs); | |
<%}%> | |
} | |
<%}%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEInverseRemoveGenFeatures())) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eInverseRemove(<%=genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject")%> otherEnd, int featureID, <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs) | |
{ | |
switch (featureID<%=negativeOffsetCorrection%>) | |
{ | |
<%for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {%> | |
case <%=genClass.getQualifiedFeatureID(genFeature)%>: | |
<%if (genFeature.isListType()) {%> | |
<%if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {%> | |
return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).basicRemove(otherEnd, msgs); | |
<%} else if (genFeature.isWrappedFeatureMapType()) {%> | |
return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).basicRemove(otherEnd, msgs); | |
<%} else {%> | |
return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList")%><%=singleWildcard%>)<%=genFeature.getGetAccessor()%>()).basicRemove(otherEnd, msgs); | |
<%}%> | |
<%} else if (genFeature.isContainer() && !genFeature.isBasicSet()) {%> | |
return eBasicSetContainer(null, <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>, msgs); | |
<%} else if (genFeature.isUnsettable()) {%> | |
return basicUnset<%=genFeature.getAccessorName()%>(msgs); | |
<%} else {%> | |
return basicSet<%=genFeature.getAccessorName()%>(null, msgs); | |
<%}%> | |
<%}%> | |
} | |
<%if (genModel.isMinimalReflectiveMethods()) {%> | |
return super.eInverseRemove(otherEnd, featureID, msgs); | |
<%} else {%> | |
return eDynamicInverseRemove(otherEnd, featureID, msgs); | |
<%}%> | |
} | |
<%}%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEBasicRemoveFromContainerGenFeatures())) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
public <%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> eBasicRemoveFromContainerFeature(<%=genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain")%> msgs) | |
{ | |
switch (eContainerFeatureID<%=negativeOffsetCorrection%>) | |
{ | |
<%for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {%> | |
<%GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(reverseFeature) : "";%> | |
case <%=genClass.getQualifiedFeatureID(genFeature)%>: | |
return eInternalContainer().eInverseRemove(this, <%=targetClass.getQualifiedFeatureID(reverseFeature)%><%=reverseOffsetCorrection%>, <%=targetClass.getImportedInterfaceName()%>.class, msgs); | |
<%}%> | |
} | |
<%if (genModel.isMinimalReflectiveMethods()) {%> | |
return super.eBasicRemoveFromContainerFeature(msgs); | |
<%} else {%> | |
return eDynamicBasicRemoveFromContainer(msgs); | |
<%}%> | |
} | |
<%}%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEGetGenFeatures())) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
public Object eGet(int featureID, boolean resolve, boolean coreType) | |
{ | |
switch (featureID<%=negativeOffsetCorrection%>) | |
{ | |
<%for (GenFeature genFeature : genClass.getEGetGenFeatures()) {%> | |
case <%=genClass.getQualifiedFeatureID(genFeature)%>: | |
<%if (genFeature.isPrimitiveType()) {%> | |
<%if (genFeature.isBooleanType()) {%> | |
return <%=genFeature.getGetAccessor()%>() ? Boolean.TRUE : Boolean.FALSE; | |
<%} else {%> | |
return new <%=genFeature.getObjectType(genClass)%>(<%=genFeature.getGetAccessor()%>()); | |
<%}%> | |
<%} else if (genFeature.isResolveProxies() && !genFeature.isListType()) {%> | |
if (resolve) return <%=genFeature.getGetAccessor()%>(); | |
return basicGet<%=genFeature.getAccessorName()%>(); | |
<%} else if (genFeature.isMapType()) {%> | |
<%if (genFeature.isEffectiveSuppressEMFTypes()) {%> | |
if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap(); | |
else return <%=genFeature.getGetAccessor()%>(); | |
<%} else {%> | |
if (coreType) return <%=genFeature.getGetAccessor()%>(); | |
else return <%=genFeature.getGetAccessor()%>().map(); | |
<%}%> | |
<%} else if (genFeature.isWrappedFeatureMapType()) {%> | |
if (coreType) return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap(); | |
return <%=genFeature.getGetAccessor()%>(); | |
<%} else if (genFeature.isFeatureMapType()) {%> | |
if (coreType) return <%=genFeature.getGetAccessor()%>(); | |
return ((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).getWrapper(); | |
<%} else {%> | |
return <%=genFeature.getGetAccessor()%>(); | |
<%}%> | |
<%}%> | |
} | |
<%if (genModel.isMinimalReflectiveMethods()) {%> | |
return super.eGet(featureID, resolve, coreType); | |
<%} else {%> | |
return eDynamicGet(featureID, resolve, coreType); | |
<%}%> | |
} | |
<%}%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getESetGenFeatures())) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useGenerics()) {%> | |
<%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%> | |
<%if (genFeature.isUncheckedCast() && !genFeature.isFeatureMapType() && !genFeature.isMapType()) {%> | |
@SuppressWarnings("unchecked") | |
<%break; }%> | |
<%}%> | |
<%}%> | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
public void eSet(int featureID, Object newValue) | |
{ | |
switch (featureID<%=negativeOffsetCorrection%>) | |
{ | |
<%for (GenFeature genFeature : genClass.getESetGenFeatures()) {%> | |
case <%=genClass.getQualifiedFeatureID(genFeature)%>: | |
<%if (genFeature.isListType()) {%> | |
<%if (genFeature.isWrappedFeatureMapType()) {%> | |
((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal.Wrapper)<%=genFeature.getGetAccessor()%>()).featureMap()).set(newValue); | |
<%} else if (genFeature.isFeatureMapType()) {%> | |
((<%=genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")%>.Internal)<%=genFeature.getGetAccessor()%>()).set(newValue); | |
<%} else if (genFeature.isMapType()) {%> | |
<%if (genFeature.isEffectiveSuppressEMFTypes()) {%> | |
((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)((<%=genModel.getImportedName("org.eclipse.emf.common.util.EMap")%>.InternalMapView<%=genFeature.getImportedMapTemplateArguments(genClass)%>)<%=genFeature.getGetAccessor()%>()).eMap()).set(newValue); | |
<%} else {%> | |
((<%=genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")%>.Setting)<%=genFeature.getGetAccessor()%>()).set(newValue); | |
<%}%> | |
<%} else {%> | |
<%=genFeature.getGetAccessor()%>().clear(); | |
<%=genFeature.getGetAccessor()%>().addAll((<%=genModel.getImportedName("java.util.Collection")%><%if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%><? extends <%=genFeature.getListItemType(genClass)%>><%}%>)newValue); | |
<%}%> | |
<%} else if (genFeature.isPrimitiveType()) {%> | |
set<%=genFeature.getAccessorName()%>(((<%=genFeature.getObjectType(genClass)%>)newValue).<%=genFeature.getPrimitiveValueFunction()%>()); | |
<%} else {%> | |
set<%=genFeature.getAccessorName()%>(<%if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType() || !genFeature.getRawType().equals(genFeature.getType(genClass))) {%>(<%=genFeature.getImportedType(genClass)%>)<%}%>newValue); | |
<%}%> | |
return; | |
<%}%> | |
} | |
<%if (genModel.isMinimalReflectiveMethods()) {%> | |
super.eSet(featureID, newValue); | |
<%} else {%> | |
eDynamicSet(featureID, newValue); | |
<%}%> | |
} | |
<%}%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEUnsetGenFeatures())) {%> | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eUnset.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isInterface:isInterface,isImplementation:isImplementation,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection"%><%//Class/eUnset.override.javajetinc%> | |
<%}%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation() && genClass.implementsAny(genClass.getEIsSetGenFeatures())) {%> | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.eIsSet.override" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isInterface:isInterface,isImplementation:isImplementation,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection"%><%//Class/eIsSet.override.javajetinc%> | |
<%}%> | |
<%if (isImplementation && (!genClass.getMixinGenFeatures().isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty())) {%> | |
<%if (!genClass.getMixinGenFeatures().isEmpty()) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
public int eBaseStructuralFeatureID(int derivedFeatureID, Class<%=singleWildcard%> baseClass) | |
{ | |
<%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%> | |
if (baseClass == <%=mixinGenClass.getImportedInterfaceName()%>.class) | |
{ | |
switch (derivedFeatureID<%=negativeOffsetCorrection%>) | |
{ | |
<%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%> | |
case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>; | |
<%}%> | |
default: return -1; | |
} | |
} | |
<%}%> | |
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); | |
} | |
<%}%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
public int eDerivedStructuralFeatureID(int baseFeatureID, Class<%=singleWildcard%> baseClass) | |
{ | |
<%for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {%> | |
if (baseClass == <%=mixinGenClass.getImportedInterfaceName()%>.class) | |
{ | |
switch (baseFeatureID) | |
{ | |
<%for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {%> | |
case <%=mixinGenClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>; | |
<%}%> | |
default: return -1; | |
} | |
} | |
<%}%> | |
<%if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {%> | |
if (baseClass == <%=genClass.getImportedInterfaceName()%>.class) | |
{ | |
switch (baseFeatureID<%=negativeOffsetCorrection%>) | |
{ | |
<%for (GenFeature genFeature : genClass.getGenFeatures()) {%> | |
case <%=genClass.getQualifiedFeatureID(genFeature)%>: return <%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>; | |
<%}%> | |
default: return -1; | |
} | |
} | |
<%}%> | |
return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); | |
} | |
<%}%> | |
<%if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();%> | |
<%if (eVirtualValuesField != null) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
protected Object[] eVirtualValues() | |
{ | |
return <%=eVirtualValuesField%>; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
protected void eSetVirtualValues(Object[] newValues) | |
{ | |
<%=eVirtualValuesField%> = newValues; | |
} | |
<%}%> | |
<%{ List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());%> | |
<%if (!eVirtualIndexBitFields.isEmpty()) { List<String> allEVirtualIndexBitFields = genClass.getAllEVirtualIndexBitFields(new ArrayList<String>());%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
protected int eVirtualIndexBits(int offset) | |
{ | |
switch (offset) | |
{ | |
<%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%> | |
case <%=i%> : | |
return <%=allEVirtualIndexBitFields.get(i)%>; | |
<%}%> | |
default : | |
throw new IndexOutOfBoundsException(); | |
} | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
protected void eSetVirtualIndexBits(int offset, int newIndexBits) | |
{ | |
switch (offset) | |
{ | |
<%for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {%> | |
case <%=i%> : | |
<%=allEVirtualIndexBitFields.get(i)%> = newIndexBits; | |
break; | |
<%}%> | |
default : | |
throw new IndexOutOfBoundsException(); | |
} | |
} | |
<%}%> | |
<%}%> | |
<%}%> | |
<%if (isImplementation && !genModel.isReflectiveDelegation() && !genClass.getToStringGenFeatures().isEmpty()) {%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useClassOverrideAnnotation()) {%> | |
@Override | |
<%}%> | |
public String toString() | |
{ | |
if (eIsProxy()) return super.toString(); | |
StringBuffer result = new StringBuffer(super.toString()); | |
<%{ boolean first = true;%> | |
<%for (GenFeature genFeature : genClass.getToStringGenFeatures()) {%> | |
<%if (first) { first = false;%> | |
result.append(" (<%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%> | |
<%} else {%> | |
result.append(", <%=genFeature.getName()%>: ");<%=genModel.getNonNLS()%> | |
<%}%> | |
<%if (genFeature.isUnsettable() && !genFeature.isListType()) {%> | |
<%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%> | |
if (eVirtualIsSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)) result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%>)); else result.append("<unset>");<%=genModel.getNonNLS()%> | |
<%} else {%> | |
<%if (genClass.isFlag(genFeature)) {%> | |
if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0); else result.append("<unset>");<%=genModel.getNonNLS()%> | |
<%} else {%> | |
if (<%if (genClass.isESetFlag(genFeature)) {%>(<%=genClass.getESetFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_ESETFLAG) != 0<%} else {%><%=genFeature.getUncapName()%>ESet<%}%>) result.append(<%=genFeature.getSafeName()%>); else result.append("<unset>");<%=genModel.getNonNLS()%> | |
<%}%> | |
<%}%> | |
<%} else {%> | |
<%if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {%> | |
result.append(eVirtualGet(<%=genClass.getQualifiedFeatureID(genFeature)%><%=positiveOffsetCorrection%><%if (!genFeature.isListType() && !genFeature.isReferenceType()){%>, <%=genFeature.getEDefault()%><%}%>)); | |
<%} else {%> | |
<%if (genClass.isFlag(genFeature)) {%> | |
result.append((<%=genClass.getFlagsField(genFeature)%> & <%=genFeature.getUpperName()%>_EFLAG) != 0); | |
<%} else {%> | |
result.append(<%=genFeature.getSafeName()%>); | |
<%}%> | |
<%}%> | |
<%}%> | |
<%}%> | |
<%}%> | |
result.append(')'); | |
return result.toString(); | |
} | |
<%}%> | |
<%if (isImplementation && genClass.isMapEntry()) { GenFeature keyFeature = genClass.getMapEntryKeyFeature(); GenFeature valueFeature = genClass.getMapEntryValueFeature();%> | |
<%String objectType = genModel.getImportedName("java.lang.Object");%> | |
<%String keyType = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? keyFeature.getObjectType(genClass) : objectType;%> | |
<%String valueType = genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? valueFeature.getObjectType(genClass) : objectType;%> | |
<%String eMapType = genModel.getImportedName("org.eclipse.emf.common.util.EMap") + (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50 ? "<" + keyType + ", " + valueType + ">" : "");%> | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
protected int hash = -1; | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public int getHash() | |
{ | |
if (hash == -1) | |
{ | |
<%=objectType%> theKey = getKey(); | |
hash = (theKey == null ? 0 : theKey.hashCode()); | |
} | |
return hash; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public void setHash(int hash) | |
{ | |
this.hash = hash; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public <%=keyType%> getKey() | |
{ | |
<%if (keyFeature.isPrimitiveType()) {%> | |
return new <%=keyFeature.getObjectType(genClass)%>(getTypedKey()); | |
<%} else {%> | |
return getTypedKey(); | |
<%}%> | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public void setKey(<%=keyType%> key) | |
{ | |
<%if (keyFeature.isListType()) {%> | |
getTypedKey().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>key); | |
<%} else if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%> | |
setTypedKey(key); | |
<%} else if (keyFeature.isPrimitiveType()) {%> | |
setTypedKey(((<%=keyFeature.getObjectType(genClass)%>)key).<%=keyFeature.getPrimitiveValueFunction()%>()); | |
<%} else {%> | |
setTypedKey((<%=keyFeature.getImportedType(genClass)%>)key); | |
<%}%> | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public <%=valueType%> getValue() | |
{ | |
<%if (valueFeature.isPrimitiveType()) {%> | |
return new <%=valueFeature.getObjectType(genClass)%>(getTypedValue()); | |
<%} else {%> | |
return getTypedValue(); | |
<%}%> | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public <%=valueType%> setValue(<%=valueType%> value) | |
{ | |
<%=valueType%> oldValue = getValue(); | |
<%if (valueFeature.isListType()) {%> | |
getTypedValue().clear(); | |
getTypedValue().addAll(<%if (!genModel.useGenerics()) {%>(<%=genModel.getImportedName("java.util.Collection")%>)<%}%>value); | |
<%} else if (genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {%> | |
setTypedValue(value); | |
<%} else if (valueFeature.isPrimitiveType()) {%> | |
setTypedValue(((<%=valueFeature.getObjectType(genClass)%>)value).<%=valueFeature.getPrimitiveValueFunction()%>()); | |
<%} else {%> | |
setTypedValue((<%=valueFeature.getImportedType(genClass)%>)value); | |
<%}%> | |
return oldValue; | |
} | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
<%if (genModel.useGenerics()) {%> | |
@SuppressWarnings("unchecked") | |
<%}%> | |
public <%=eMapType%> getEMap() | |
{ | |
<%=genModel.getImportedName("org.eclipse.emf.ecore.EObject")%> container = eContainer(); | |
return container == null ? null : (<%=eMapType%>)container.eGet(eContainmentFeature()); | |
} | |
<%}%> | |
<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#LogicalName=org.eclipse.egf.emf.pattern.model.call.Class.Class.insert" args="genClass:genClass,genPackage:genPackage,genModel:genModel,isInterface:isInterface,isImplementation:isImplementation,publicStaticFinalFlag:publicStaticFinalFlag,singleWildcard:singleWildcard,negativeOffsetCorrection:negativeOffsetCorrection,positiveOffsetCorrection:positiveOffsetCorrection"%> | |
} //<%=isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName()%> | |
<%// TODO fix the space above%> | |
<%genModel.emitSortedImports();%> |