| |
| <% |
| /** |
| * <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();%> |