Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/EJBRelationshipRoleImpl.java')
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/EJBRelationshipRoleImpl.java1021
1 files changed, 0 insertions, 1021 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/EJBRelationshipRoleImpl.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/EJBRelationshipRoleImpl.java
deleted file mode 100644
index 101396034..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/EJBRelationshipRoleImpl.java
+++ /dev/null
@@ -1,1021 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.ejb.internal.impl;
-
-import java.lang.reflect.Constructor;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.j2ee.common.Description;
-import org.eclipse.jst.j2ee.common.internal.impl.J2EEEObjectImpl;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.CMRField;
-import org.eclipse.jst.j2ee.ejb.CommonRelationship;
-import org.eclipse.jst.j2ee.ejb.CommonRelationshipRole;
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EJBRelation;
-import org.eclipse.jst.j2ee.ejb.EJBRelationshipRole;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
-import org.eclipse.jst.j2ee.ejb.IRoleShapeStrategy;
-import org.eclipse.jst.j2ee.ejb.MultiplicityKind;
-import org.eclipse.jst.j2ee.ejb.RoleSource;
-import org.eclipse.wst.common.internal.emf.utilities.IDUtil;
-/**
- * The ejb-relationship-role element describes a role within a relationship.
- * There are two roles in each relationship. The ejb-relationship-role element contains an optional description; an optional name for the relationship role; a specification of the multiplicity of the role; an optional specification of cascade-delete functionality for the role; the role source; and a declaration of the cmr-field, if any, by means of which the other side of the relationship is accessed from the perspective of the role source. The multiplicity and relationship-role-source element are mandatory. The relationship-role-source element designates an entity-bean by means of an ejb-name element. For bidirectional relationships, both roles of a relationship must declare a relationship-role-source element that specifies a cmr-field in terms of which the relationship is accessed. The lack of a cmr-field element in an ejb-relationship-role specifies that the relationship is unidirectional in navigability and that entity bean that participates in the relationship is "not aware" of the relationship.
- *
- * @invariant multiplicity != null
- * @invariant roleSource != null
- * @invariant Cascade delete can only be specified in an EJBRelationshipRole element in which the roleSource element specifies a dependent object class.
- * @invariant Cascade delete can only be specified for an EJBRelationshipRole contained in an EJBRelation in which the other EJBRelationshipRole element specifies a multiplicity of One.
- *
- * Example:
- * <ejb-relation>
- * <ejb-relation-name>Product-LineItem<//ejb-relation-name>
- * <ejb-relationship-role>
- * <ejb-relationship-role-name>product-has-lineitems<//ejb-relationship-role-name>
- * <multiplicity>One<//multiplicity>
- * <relationship-role-source>
- * <ejb-name>ProductEJB<//ejb-name>
- * <//relationship-role-source>
- * <//ejb-relationship-role>
- * ...
- * @generated
- */
-public class EJBRelationshipRoleImpl extends J2EEEObjectImpl implements EJBRelationshipRole {
-
-
-
- /**
- * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDescription()
- * @generated
- * @ordered
- */
- protected static final String DESCRIPTION_EDEFAULT = null;
-
- protected static final EList EMPTY_ELIST = new org.eclipse.emf.common.util.BasicEList(0);
-
- // Need to cache the computed attributes so that they maintain identity
- protected EList fAttributes = null;
- protected String fName = null;
- protected IRoleShapeStrategy roleShapeStrategy;
- private static final String ROLE_STRATEGY_CLASS_NAME = "org.eclipse.jst.j2ee.ejb.internal.impl.EJB20FlattenedRoleShapeStrategy"; //$NON-NLS-1$
- private static final String COMMON_ROLE_CLASS_NAME = "org.eclipse.jst.j2ee.ejb.CommonRelationshipRole"; //$NON-NLS-1$
- private static Class COMMON_ROLE_CLASS;
- private static Class ROLE_STRATEGY_CLASS;
- private static Constructor ROLE_STRATEGY_CONSTRUCTOR;
- private static final String NAME_SUFFIX = "Inverse"; //$NON-NLS-1$
-
- private boolean toStringGuard;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String description = DESCRIPTION_EDEFAULT;
- /**
- * The default value of the '{@link #getRoleName() <em>Role Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRoleName()
- * @generated
- * @ordered
- */
- protected static final String ROLE_NAME_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String roleName = ROLE_NAME_EDEFAULT;
- /**
- * The default value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMultiplicity()
- * @generated
- * @ordered
- */
- protected static final MultiplicityKind MULTIPLICITY_EDEFAULT = MultiplicityKind.ONE_LITERAL;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected MultiplicityKind multiplicity = MULTIPLICITY_EDEFAULT;
- /**
- * This is true if the Multiplicity attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean multiplicityESet = false;
-
- /**
- * The default value of the '{@link #isCascadeDelete() <em>Cascade Delete</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isCascadeDelete()
- * @generated
- * @ordered
- */
- protected static final boolean CASCADE_DELETE_EDEFAULT = false;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected boolean cascadeDelete = CASCADE_DELETE_EDEFAULT;
- /**
- * This is true if the Cascade Delete attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean cascadeDeleteESet = false;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected RoleSource source = null;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected CMRField cmrField = null;
- /**
- * The cached value of the '{@link #getDescriptions() <em>Descriptions</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getDescriptions()
- * @generated
- * @ordered
- */
- protected EList descriptions = null;
-
- private boolean wasForward = false;
- private boolean wasMany = false;
-
- private boolean isKeySet = false;
- private boolean key = false;
-
- private transient Boolean required = null;
-
- public EJBRelationshipRoleImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return EjbPackage.Literals.EJB_RELATIONSHIP_ROLE;
- }
-
- /**
- * Return the persistentAttributes from my Entity that are used
- * by this role.
- */
-
- public EList getAttributes() {
- if (fAttributes == null) {
- fAttributes = new BasicEList(1);
- }
- if (fAttributes.isEmpty()) {
- getRoleShapeStrategy().reconcileAttributes(fAttributes);
- }
- return fAttributes;
- }
- /**
- * Return our parent relationship as a CommonRelationship
- */
-
- public CommonRelationship getCommonRelationship() {
- return getRelationship();
- }
- protected IRoleShapeStrategy getDefaultRoleShapeStrategy() {
- try {
- return (IRoleShapeStrategy) getRoleStrategyConstructor(this).newInstance(new Object[] { this });
- } catch (Throwable t) {
- Logger.getLogger().logError("EJBRelationshipRoleImpl:Could not instantiate role shape strategy; this requires extensions"); //$NON-NLS-1$
- Logger.getLogger().logError(t);
- return null;
- }
-
- }
-
-
- /**
- * @return The logical name which can be used for naming this role.
- * Required to be unique within a JAR.
- * If a cmr-field is defined, then a name in the form %source-ejb-name%_%cmr-field-name% is computed.
- * Otherwise a default ID is generated.
- */
- public String getLogicalName() {
- String result = null;
- String qualifier = getCmrField().getName();
- if (qualifier != null) {
- result = getSource().getEntityBean().getName() + "_" + qualifier; //$NON-NLS-1$
- } else {
- // Apply a default ID
- result = IDUtil.getOrAssignID(this);
- }
- return result;
- }
- /**
- * @return The name for this role, derived from the CMR-field name
- * Used to determine the name used in querying this role as well as the accessor method names which implement it.
- * Note: may return the XMI ID for non-navigable roles, ie - where there is no CMR-field.
- */
- public String getName() {
- if (fName == null) {
- if (getCmrField() != null)
- fName = getCmrField().getName();
- else if (getOpposite() != null) {
- EJBRelationshipRole op = getOpposite();
- if (op.getCmrField() != null)
- fName = op.getCmrField().getName() + op.getSourceEntity().getName() + NAME_SUFFIX;
- } else {
- if (eGetId() == null)
- eSetId();
- fName = eGetId();
- }
- }
- return fName;
- }
- /**
- * Return the other role.
- */
- public EJBRelationshipRole getOpposite() {
- if (getRelationship() != null)
- return getRelationship().getOppositeRole(this);
- return null;
- }
- /**
- * Return the other role.
- */
- public CommonRelationshipRole getOppositeAsCommonRole() {
- return getOpposite();
- }
-
- /**
- * Insert the method's description here.
- * Creation date: (11/15/2000 6:50:30 PM)
- * @return com.ibm.ejs.models.base.extensions.ejbext.impl.IRoleShapeStrategy
- */
- public IRoleShapeStrategy getRoleShapeStrategy() {
- if (roleShapeStrategy == null)
- roleShapeStrategy = getDefaultRoleShapeStrategy();
- return roleShapeStrategy;
- }
- /**
- * @return The Source ejb
- * Compute the ContainerManagedEntity which is the source of a role that participates in a relationship.
- */
- public ContainerManagedEntity getSourceEntity() {
- if(null == getSource()) {
- return null;
- }
- return getSource().getEntityBean();
- }
- /**
- * @return The computed value of the isForward attribute
- * Specifies whether this role should be mapped to a persistent reference, such as a foreign key.
- * The current implementation is:
- * - if the role is many, it cannot be forward
- * - if the role is single and not navigable, it cannot be forward
- * - all other things being equal, the first role is considered to be forward
- * - clients can manipulate this by setting an ambiguous role to be fwd (by manipulating the role order under the covers).
- */
- public boolean isForward() {
- if (this.isMany())
- return false;
- if (getOppositeAsCommonRole() == null)
- return wasForward;
- if (getOppositeAsCommonRole().isMany())
- return true;
- // if (!this.isNavigable()) removed to allow non-navigable role in key
- // return false;
- if (getRelationship() == null)
- return wasForward;
- return (getRelationship().getFirstRole() == this);
- }
- /**
- * @return The computed value isKey
- */
- public boolean isKey() {
- if (isKeySet)
- return key;
- return isKeyFromAttributes();
- }
-
- protected boolean isKeyFromAttributes() {
- List list = getAttributes();
- if (list.isEmpty())
- return false;
- Iterator it = list.iterator();
- CMPAttribute attribute;
- while (it.hasNext()) {
- attribute = (CMPAttribute) it.next();
- if (!attribute.isKey())
- return false;
- }
- return true;
- }
-
- /**
- * This allows you to set the Role as being key so it will
- * not traverse it attributes to determine if it is key.
- */
- public void setKey(boolean aBoolean) {
- key = aBoolean;
- isKeySet = true;
- }
-
- /**
- * Handwritten version of isMany():
- */
-
-
- public boolean isMany() {
- if (getOpposite() == null)
- return wasMany;
- return getOpposite().getMultiplicity() == MultiplicityKind.MANY_LITERAL;
- }
-
-
-
- /**
- * @return The computed value of the isNavigable attribute
- * Specifies that accessors should be generated for this relationship role.
- * Current implementation is to test whether or not a CMR field exists.
- */
- public boolean isNavigable() {
- return getCmrField() != null;
- }
-
-
- public void reconcileAttributes() {
- if (fAttributes != null)
- getRoleShapeStrategy().reconcileAttributes(fAttributes);
- }
-
-
- /**
- * Set this role to be the forward role.
- */
- public void setFoward() {
- getRelationship().setFoward(this);
- }
- public void setName(java.lang.String uniqueName) {
- fName = uniqueName;
- }
- @Override
- public String toString() {
- if (toStringGuard) return super.toString();
- try {
- toStringGuard = true;
- String oppositeType = getOpposite() != null ? getTypeEntity().getName() : "<<unknown>>"; //$NON-NLS-1$
- return getName() + "(" + oppositeType + ")" + (isMany() ? " *" : " 1"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- } catch (Exception e) {
- return e.toString();
- } finally {
- toStringGuard = false;
- }
- }
-
- private static Class getCommonRoleClass(Object caller) throws ClassNotFoundException {
-
- if (COMMON_ROLE_CLASS == null) {
- COMMON_ROLE_CLASS = loadClass(COMMON_ROLE_CLASS_NAME, caller);
- }
- return COMMON_ROLE_CLASS;
- }
-
- private static Class loadClass(String name, Object caller) throws ClassNotFoundException {
- ClassLoader cl = caller.getClass().getClassLoader();
- if (cl != null)
- return cl.loadClass(name);
- return Class.forName(name);
- }
-
- private static Class getRoleStrategyClass(Object caller) throws ClassNotFoundException {
- if (ROLE_STRATEGY_CLASS == null)
- ROLE_STRATEGY_CLASS = loadClass(ROLE_STRATEGY_CLASS_NAME, caller);
- return ROLE_STRATEGY_CLASS;
- }
-
- private static Constructor getRoleStrategyConstructor(Object caller) throws ClassNotFoundException, NoSuchMethodException {
- if (ROLE_STRATEGY_CONSTRUCTOR == null) {
- Class[] parmTypes = new Class[] { getCommonRoleClass(caller)};
- ROLE_STRATEGY_CONSTRUCTOR = getRoleStrategyClass(caller).getConstructor(parmTypes);
- }
- return ROLE_STRATEGY_CONSTRUCTOR;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- * The description is used by the ejb-jar file producer to provide text describing
- * the ejb relationship role.
- *
- * The description should include any information that the ejb-jar file producer
- * wants to provide to the consumer of the ejb-jar file (i.e. to the Deployer).
- * Typically, the tools used by the ejb-jar file consumer will display the
- * description when processing the list of dependents.
- */
- public String getDescription() {
- return description;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setDescription(String newDescription) {
- String oldDescription = description;
- description = newDescription;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTION, oldDescription, description));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- * Defines a name for a role that is unique within an ejb-relation. Different
- * relationships can use the same name for a role.
-
- */
- public String getRoleName() {
- return roleName;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setRoleName(String newRoleName) {
- String oldRoleName = roleName;
- roleName = newRoleName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__ROLE_NAME, oldRoleName, roleName));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public MultiplicityKind getMultiplicity() {
- return multiplicity;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMultiplicity(MultiplicityKind newMultiplicity) {
- MultiplicityKind oldMultiplicity = multiplicity;
- multiplicity = newMultiplicity == null ? MULTIPLICITY_EDEFAULT : newMultiplicity;
- boolean oldMultiplicityESet = multiplicityESet;
- multiplicityESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__MULTIPLICITY, oldMultiplicity, multiplicity, !oldMultiplicityESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetMultiplicity() {
- MultiplicityKind oldMultiplicity = multiplicity;
- boolean oldMultiplicityESet = multiplicityESet;
- multiplicity = MULTIPLICITY_EDEFAULT;
- multiplicityESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, EjbPackage.EJB_RELATIONSHIP_ROLE__MULTIPLICITY, oldMultiplicity, MULTIPLICITY_EDEFAULT, oldMultiplicityESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetMultiplicity() {
- return multiplicityESet;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- * Specifies that, within a particular relationship, the lifetime of one or more
- * entity beans is dependent upon the lifetime of another entity bean. The
- * cascade-delete element can Cascade delete can only be specified for an
- * EJBRelationshipRole contained in an EJBrelation in which the other
- * EJBRelationshipRole element specifies a multiplicity of One.
- *
- *
-
- */
- public boolean isCascadeDelete() {
- return cascadeDelete;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setCascadeDelete(boolean newCascadeDelete) {
- boolean oldCascadeDelete = cascadeDelete;
- cascadeDelete = newCascadeDelete;
- boolean oldCascadeDeleteESet = cascadeDeleteESet;
- cascadeDeleteESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__CASCADE_DELETE, oldCascadeDelete, cascadeDelete, !oldCascadeDeleteESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetCascadeDelete() {
- boolean oldCascadeDelete = cascadeDelete;
- boolean oldCascadeDeleteESet = cascadeDeleteESet;
- cascadeDelete = CASCADE_DELETE_EDEFAULT;
- cascadeDeleteESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, EjbPackage.EJB_RELATIONSHIP_ROLE__CASCADE_DELETE, oldCascadeDelete, CASCADE_DELETE_EDEFAULT, oldCascadeDeleteESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetCascadeDelete() {
- return cascadeDeleteESet;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EJBRelation getRelationship() {
- if (eContainerFeatureID != EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP) return null;
- return (EJBRelation)eContainer();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetRelationship(EJBRelation newRelationship, NotificationChain msgs) {
- msgs = eBasicSetContainer((InternalEObject)newRelationship, EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP, msgs);
- return msgs;
- }
-
- /**
- * This field/method will be replaced during code generation.
- */
- public void setRelationship(EJBRelation newContainer) {
- if (newContainer == null && getRelationship() != null) {
- updateCachedSettings();
- EJBRelationshipRoleImpl roleOpposite = (EJBRelationshipRoleImpl) getOpposite();
- if (roleOpposite != null)
- roleOpposite.updateCachedSettings();
- } else
- wasForward = false;
- setRelationshipGen(newContainer);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jst.j2ee.internal.ejb.CommonRelationshipRole#getTargetAttributeName(org.eclipse.jst.j2ee.internal.ejb.CMPAttribute)
- */
- public String getTargetAttributeName(CMPAttribute roleAttribute) {
- int roleNameSize = getName().length();
- return roleAttribute.getName().substring(roleNameSize + 1);
- }
- /**
- * Method updateCachedSettings.
- */
- protected void updateCachedSettings() {
- wasForward = isForward();
- wasMany = isMany();
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- * Designates the source of a role that participates in a relationship. A
- * relationship-role-source element uniquely identifies an entity bean.
- * @migration EJB1.1: was ibmejbext::EjbRelationshipRole::sourceEJBName, but that
- * may not be sufficient, as this can now refer to dependent class names or ejb
- * refs
- */
- public RoleSource getSource() {
- return source;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetSource(RoleSource newSource, NotificationChain msgs) {
- RoleSource oldSource = source;
- source = newSource;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE, oldSource, newSource);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setSource(RoleSource newSource) {
- if (newSource != source) {
- NotificationChain msgs = null;
- if (source != null)
- msgs = ((InternalEObject)source).eInverseRemove(this, EjbPackage.ROLE_SOURCE__ROLE, RoleSource.class, msgs);
- if (newSource != null)
- msgs = ((InternalEObject)newSource).eInverseAdd(this, EjbPackage.ROLE_SOURCE__ROLE, RoleSource.class, msgs);
- msgs = basicSetSource(newSource, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE, newSource, newSource));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- * A declaration of the CMRField, if any, by means of which the other side of the
- * relationship is accessed from the perspective of the role source
- *
- * @migration EJB1.1: Used to be handled via ibmejbext::EjbRole::attributes list
- */
- public CMRField getCmrField() {
- return cmrField;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetCmrField(CMRField newCmrField, NotificationChain msgs) {
- CMRField oldCmrField = cmrField;
- cmrField = newCmrField;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD, oldCmrField, newCmrField);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setCmrField(CMRField newCmrField) {
- if (newCmrField != cmrField) {
- NotificationChain msgs = null;
- if (cmrField != null)
- msgs = ((InternalEObject)cmrField).eInverseRemove(this, EjbPackage.CMR_FIELD__ROLE, CMRField.class, msgs);
- if (newCmrField != null)
- msgs = ((InternalEObject)newCmrField).eInverseAdd(this, EjbPackage.CMR_FIELD__ROLE, CMRField.class, msgs);
- msgs = basicSetCmrField(newCmrField, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD, newCmrField, newCmrField));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getDescriptions() {
- if (descriptions == null) {
- descriptions = new EObjectContainmentEList(Description.class, this, EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTIONS);
- }
- return descriptions;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP:
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- return basicSetRelationship((EJBRelation)otherEnd, msgs);
- case EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE:
- if (source != null)
- msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE, null, msgs);
- return basicSetSource((RoleSource)otherEnd, msgs);
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD:
- if (cmrField != null)
- msgs = ((InternalEObject)cmrField).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD, null, msgs);
- return basicSetCmrField((CMRField)otherEnd, msgs);
- }
- return super.eInverseAdd(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP:
- return basicSetRelationship(null, msgs);
- case EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE:
- return basicSetSource(null, msgs);
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD:
- return basicSetCmrField(null, msgs);
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTIONS:
- return ((InternalEList)getDescriptions()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
- switch (eContainerFeatureID) {
- case EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP:
- return eInternalContainer().eInverseRemove(this, EjbPackage.EJB_RELATION__RELATIONSHIP_ROLES, EJBRelation.class, msgs);
- }
- return super.eBasicRemoveFromContainerFeature(msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTION:
- return getDescription();
- case EjbPackage.EJB_RELATIONSHIP_ROLE__ROLE_NAME:
- return getRoleName();
- case EjbPackage.EJB_RELATIONSHIP_ROLE__MULTIPLICITY:
- return getMultiplicity();
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CASCADE_DELETE:
- return isCascadeDelete() ? Boolean.TRUE : Boolean.FALSE;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP:
- return getRelationship();
- case EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE:
- return getSource();
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD:
- return getCmrField();
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTIONS:
- return getDescriptions();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTION:
- setDescription((String)newValue);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__ROLE_NAME:
- setRoleName((String)newValue);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__MULTIPLICITY:
- setMultiplicity((MultiplicityKind)newValue);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CASCADE_DELETE:
- setCascadeDelete(((Boolean)newValue).booleanValue());
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP:
- setRelationship((EJBRelation)newValue);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE:
- setSource((RoleSource)newValue);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD:
- setCmrField((CMRField)newValue);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTIONS:
- getDescriptions().clear();
- getDescriptions().addAll((Collection)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTION:
- setDescription(DESCRIPTION_EDEFAULT);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__ROLE_NAME:
- setRoleName(ROLE_NAME_EDEFAULT);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__MULTIPLICITY:
- unsetMultiplicity();
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CASCADE_DELETE:
- unsetCascadeDelete();
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP:
- setRelationship((EJBRelation)null);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE:
- setSource((RoleSource)null);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD:
- setCmrField((CMRField)null);
- return;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTIONS:
- getDescriptions().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTION:
- return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
- case EjbPackage.EJB_RELATIONSHIP_ROLE__ROLE_NAME:
- return ROLE_NAME_EDEFAULT == null ? roleName != null : !ROLE_NAME_EDEFAULT.equals(roleName);
- case EjbPackage.EJB_RELATIONSHIP_ROLE__MULTIPLICITY:
- return isSetMultiplicity();
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CASCADE_DELETE:
- return isSetCascadeDelete();
- case EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP:
- return getRelationship() != null;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__SOURCE:
- return source != null;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__CMR_FIELD:
- return cmrField != null;
- case EjbPackage.EJB_RELATIONSHIP_ROLE__DESCRIPTIONS:
- return descriptions != null && !descriptions.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toStringGen() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (description: "); //$NON-NLS-1$
- result.append(description);
- result.append(", roleName: "); //$NON-NLS-1$
- result.append(roleName);
- result.append(", multiplicity: "); //$NON-NLS-1$
- if (multiplicityESet) result.append(multiplicity); else result.append("<unset>"); //$NON-NLS-1$
- result.append(", cascadeDelete: "); //$NON-NLS-1$
- if (cascadeDeleteESet) result.append(cascadeDelete); else result.append("<unset>"); //$NON-NLS-1$
- result.append(')');
- return result.toString();
- }
-
- /*
- * @see CommonRelationshipRole#getTypeEntity()
- */
- public ContainerManagedEntity getTypeEntity() {
- if (getOpposite() != null)
- return getOpposite().getSourceEntity();
- return null;
- }
-
- /**
- * @see CommonRelationshipRole#isRequired()
- */
- public boolean isRequired() {
- if (required!=null)
- return required.booleanValue();
- return isKey();
- }
-
- /**
- * Set the isRequired flag for bottom up
- */
- public void setRequired(Boolean isRequired) {
- required = isRequired;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setRelationshipGen(EJBRelation newRelationship) {
- if (newRelationship != eInternalContainer() || (eContainerFeatureID != EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP && newRelationship != null)) {
- if (EcoreUtil.isAncestor(this, newRelationship))
- throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
- NotificationChain msgs = null;
- if (eInternalContainer() != null)
- msgs = eBasicRemoveFromContainer(msgs);
- if (newRelationship != null)
- msgs = ((InternalEObject)newRelationship).eInverseAdd(this, EjbPackage.EJB_RELATION__RELATIONSHIP_ROLES, EJBRelation.class, msgs);
- msgs = basicSetRelationship(newRelationship, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.EJB_RELATIONSHIP_ROLE__RELATIONSHIP, newRelationship, newRelationship));
- }
-
- /**
- * @see org.eclipse.jst.j2ee.internal.ejb.CommonRelationshipRole#setLower(int)
- */
- public void setLower(int lowerBound) {
- // Do nothing... Only upperbound is relevant here
- }
-
- /**
- * @see org.eclipse.jst.j2ee.internal.ejb.CommonRelationshipRole#setUpper(int)
- */
- public void setUpper(int upperBound) {
- switch (upperBound) {
- case MultiplicityKind.ONE :
- setMultiplicity(MultiplicityKind.ONE_LITERAL);
- break;
- default :
- setMultiplicity(MultiplicityKind.MANY_LITERAL);
- break;
- }
- }
-
- /**
- Gets the MOF XMI ref id for this object.
- */
- private String eGetId() {
- XMIResource res = (XMIResource)eResource();
- if (res == null)
- return null;
- return res.getID(this);
- }
-
-
- /**
- * Set and return The id of this element
- */
- private String eSetId() {
-
-
- IDUtil.getOrAssignID(this);
-
- return eGetId();
- }
-
-}
-

Back to the top