Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcbridgha2006-02-24 19:00:48 +0000
committercbridgha2006-02-24 19:00:48 +0000
commita5a5a7da3dc35ff771aec8dc35776a98f595bfa3 (patch)
treed901c988e7e2c2f545bbcd28380d7b77af07084b /plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/MethodElementImpl.java
parent672c7efdf18ab8c71b2d2eabe6f853a66126d03a (diff)
downloadwebtools.javaee-20060224a.tar.gz
webtools.javaee-20060224a.tar.xz
webtools.javaee-20060224a.zip
This commit was manufactured by cvs2svn to create tag 'v20060224a'.v20060224a
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/MethodElementImpl.java')
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/MethodElementImpl.java1039
1 files changed, 0 insertions, 1039 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/MethodElementImpl.java b/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/MethodElementImpl.java
deleted file mode 100644
index aa86e1789..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/mofj2ee/org/eclipse/jst/j2ee/ejb/internal/impl/MethodElementImpl.java
+++ /dev/null
@@ -1,1039 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 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.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import com.ibm.icu.util.StringTokenizer;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jst.j2ee.common.Description;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.MethodElement;
-import org.eclipse.jst.j2ee.ejb.MethodElementKind;
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.jst.j2ee.ejb.internal.util.MethodElementHelper;
-
-
-/**
- * The method element is used to denote a method of an enterprise bean's
- * home or remote interface, or a set of methods. The ejb-name element
- * must be the name of one of the enterprise beans in declared in the
- * deployment descriptor; the optional method-intf element allows to
- * distinguish between a method with the same signature that is defined in
- * both the home and remote interface; the method-name element specifies
- * the method name; and the optional method-params elements identify a
- * single method among multiple methods with an overloaded method name.
- *
- * There are three possible styles of the method element syntax:
- *
- * 1. <method>
- * <ejb-name>EJBNAME<//ejb-name>
- * <method-name>*<//method-name>
- * <//method>
- *
- * This style is used to refer to all the methods of the specified
- * enterprise bean's home and remote interfaces.
- *
- * 2. <method>
- * <ejb-name>EJBNAME<//ejb-name>
- * <method-name>METHOD<//method-name>
- * <//method>>
- *
- * This style is used to refer to the specified method of the
- * specified enterprise bean. If there are multiple methods with
- * the same overloaded name, the element of this style refers to
- * all the methods with the overloaded name.
- *
- *
- *
- *
- *
- * 3. <method>
- * <ejb-name>EJBNAME<//ejb-name>
- * <method-name>METHOD<//method-name>
- * <method-params>
- * <method-param>PARAM-1<//method-param>
- * <method-param>PARAM-2<//method-param>
- * ...
- * <method-param>PARAM-n<//method-param>
- * <//method-params>
- * <method>
- *
- * This style is used to refer to a single method within a set of
- * methods with an overloaded name. PARAM-1 through PARAM-n are the
- * fully-qualified Java types of the method's input parameters (if
- * the method has no input arguments, the method-params element
- * contains no method-param elements). Arrays are specified by the
- * array element's type, followed by one or more pair of square
- * brackets (e.g. int[][]).
- *
- *
- * Used in: method-permission and container-transaction
- *
- * Examples:
- *
- * Style 1: The following method element refers to all the methods of
- * the EmployeeService bean's home and remote interfaces:
- *
- * <method>
- * <ejb-name>EmployeeService<//ejb-name>
- * <method-name>*<//method-name>
- * <//method>
- *
- * Style 2: The following method element refers to all the create
- * methods of the EmployeeService bean's home interface:
- *
- * <method>
- * <ejb-name>EmployeeService<//ejb-name>
- * <method-name>create<//method-name>
- * <//method>
- *
- * Style 3: The following method element refers to the
- * create(String firstName, String LastName) method of the
- * EmployeeService bean's home interface.
- *
- * <method>
- * <ejb-name>EmployeeService<//ejb-name>
- * <method-name>create<//method-name>
- * <method-params>
- * <method-param>java.lang.String<//method-param>
- * <method-param>java.lang.String<//method-param>
- * <//method-params>
- * <//method>
- *
- *
- * The following example illustrates a Style 3 element with
- * more complex parameter types. The method
- * foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
- * mypackage.MyClass[][] myclaar)
- * would be specified as:
- *
- * <method>
- * <ejb-name>EmployeeService<//ejb-name>
- * <method-name>foobar<//method-name>
- * <method-params>
- * <method-param>char<//method-param>
- * <method-param>int<//method-param>
- * <method-param>int[]<//method-param>
- * <method-param>mypackage.MyClass<//method-param>
- * <method-param>mypackage.MyClass[][]<//method-param>
- * <//method-params>
- * <//method>
- *
- * The optional method-intf element can be used when it becomes
- * necessary to differentiate between a method defined in the home
- * interface and a method with the same name and signature that is
- * defined in the remote interface.
- *
- * For example, the method element
- *
- * <method>
- * <ejb-name>EmployeeService<//ejb-name>
- * <method-intf>Remote<//method-intf>
- * <method-name>create<//method-name>
- * <method-params>
- * <method-param>java.lang.String<//method-param>
- * <method-param>java.lang.String<//method-param>
- * <//method-params>
- * <//method>
- *
- * can be used to differentiate the create(String, String) method
- * defined in the remote interface from the create(String, String)
- * method defined in the home interface, which would be defined as
- *
- * <method>
- * <ejb-name>EmployeeService<//ejb-name>
- * <method-intf>Home<//method-intf>
- * <method-name>create<//method-name>
- * <method-params>
- * <method-param>java.lang.String<//method-param>
- * <method-param>java.lang.String<//method-param>
- * <//method-params>
- * <//method>
-
- */
-public class MethodElementImpl extends EObjectImpl implements MethodElement {
-
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String name = NAME_EDEFAULT;
- /**
- * The default value of the '{@link #getParms() <em>Parms</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParms()
- * @generated
- * @ordered
- */
- protected static final String PARMS_EDEFAULT = null;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String parms = PARMS_EDEFAULT;
-
- /**
- * The default value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected static final MethodElementKind TYPE_EDEFAULT = MethodElementKind.UNSPECIFIED_LITERAL;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected MethodElementKind type = TYPE_EDEFAULT;
- /**
- * This is true if the Type attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean typeESet = false;
-
- /**
- * 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;
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected String description = DESCRIPTION_EDEFAULT;
- /**
- * @generated This field/method will be replaced during code generation.
- */
- protected EnterpriseBean enterpriseBean = 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;
-
- public MethodElementImpl() {
- super();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return EjbPackage.eINSTANCE.getMethodElement();
- }
-
-public void addMethodParams(String param) {
- String oldParms = getParms();
- if (oldParms == null) {
- setParms(param);
- } else {
- setParms(oldParms.concat(" ").concat(param)); //$NON-NLS-1$
- }
-}
-/**
- * Set the params for this method element to an empty array, as opposed
- * to null.
- */
-public void applyZeroParams() {
- setParms(""); //$NON-NLS-1$
-}
-public boolean equalSignature(MethodElement anotherMethodElement) {
- boolean equal = getName().equals(anotherMethodElement.getName());
- if (equal) {
- equal = parmsEqual(anotherMethodElement);
- if (equal) {
- if (getType() == null)
- equal = anotherMethodElement.getType() == null;
- else
- equal = getType().equals(anotherMethodElement.getType());
- }
- }
- return equal;
-}
-public java.util.List getMethodParams() {
- StringTokenizer tok = getMethodParamsTokenizer();
- java.util.List v = new ArrayList();
- java.util.List paramsList = new ArrayList();
- String current = null;
- if (tok != null) {
- while (current != null || tok.hasMoreTokens()) {
- String peek = null;
- if (current == null)
- current = tok.nextToken();
- if (tok.hasMoreTokens()) {
- peek = tok.nextToken();
- if (peek.startsWith("[")) { //$NON-NLS-1$
- current += peek;
- peek = null;
- }
- }
- v.add(current);
- if (peek != null)
- current = peek;
- else
- current = null;
- }
-
- }
-
- /*
- * This is a hack to make sure that for old XMI generated files, that ven if there was ',' separated
- * params, it parses them back out right. To support 4.0.X AAT generated XMI files with runAs roles
- * for methods.
- */
- for (int i = 0; i < v.size(); i++)
- {
- tok = new StringTokenizer((String)v.get(i),","); //$NON-NLS-1$
- if (tok != null)
- {
- while (tok.hasMoreTokens())
- {
- paramsList.add(tok.nextToken());
- }
- }
- }
- return paramsList;
-}
-private StringTokenizer getMethodParamsTokenizer() {
- //This method is a hack for now; the cardinality is wrong for the params
- String aParms = getParms();
- if (aParms == null || aParms.length() == 0) {
- return null;
- }
- return new StringTokenizer(getParms());
-}
-/**
- * Answer a list of all the methods for which this method element applies. The following rules are used:
- *
- * 1) If the method element type is unspecified, the methods are obtained from the remote interface of the ejb;
- * If it is specified, then the appropriate interface is used
- *
- * 2) If the method name = "*", then all the PUBLIC methods for that interface are returned
- *
- * 3) If the method name is specified, and no method params are specified, then all public methods for the interface
- * having the same name are returned.
- *
- * 4) If the method name and params are specified, then a zero or one element array is returned, containing the one and only method
- * on the interface with the appropriate signature, if it exists
- */
-public Method[] getMethods() {
- EnterpriseBean ejb = getEnterpriseBean();
- if(ejb == null)
- return new Method[0];
- List result = null;
- switch (getType().getValue()) {
- case MethodElementKind.HOME :
- {
- result = getMethods(ejb.getHomeInterface());
- break;
- }
- case MethodElementKind.REMOTE :
- {
- result = getMethods(ejb.getRemoteInterface());
- break;
- }
- case MethodElementKind.LOCAL_HOME :
- {
- result = getMethods(ejb.getLocalHomeInterface());
- break;
- }
- case MethodElementKind.LOCAL :
- {
- result = getMethods(ejb.getLocalInterface());
- break;
- }
- case MethodElementKind.SERVICE_ENDPOINT :
- {
- if(ejb.isSession()) {
- result = getMethods(((Session)ejb).getServiceEndpoint());
- break;
- }
- }
- case MethodElementKind.UNSPECIFIED :
- {
- if (ejb.isMessageDriven())
- result = getMethods(ejb.getEjbClass());
- else {
- result = new ArrayList();
- result.addAll(getMethods(ejb.getHomeInterface()));
- result.addAll(getMethods(ejb.getRemoteInterface()));
- result.addAll(getMethods(ejb.getLocalHomeInterface()));
- result.addAll(getMethods(ejb.getLocalInterface()));
- }
- break;
- }
- }
- return (Method[]) result.toArray(new Method[result.size()]);
-}
-/**
- * Answer a list of all the methods for which this method element applies. The following rules are used:
- *
- * 1) If the method element type is unspecified, the methods are obtained from the remote interface of the ejb;
- * If it is specified, then the appropriate interface is used
- *
- * 2) If the method name = "*", then all the PUBLIC methods for that interface are returned
- *
- * 3) If the method name is specified, and no method params are specified, then all public methods for the interface
- * having the same name are returned.
- *
- * 4) If the method name and params are specified, then a zero or one element array is returned, containing the one and only method
- * on the interface with the appropriate signature, if it exists
- */
-private List getMethods(JavaClass javaClass) {
- if (javaClass == null) return Collections.EMPTY_LIST;
- List result = null;
- String methodName = getName().trim();
- if (name.equals("*")) //$NON-NLS-1$
- result = javaClass.getPublicMethodsExtended();
- else if (hasMethodParams()) {
- result = new ArrayList();
- Method method = javaClass.getPublicMethodExtended(name, getMethodParams());
- if (method != null)
- result.add(method);
- } else
- result = javaClass.getPublicMethodsExtendedNamed(methodName);
-
- return result;
-}
-/**
- * Return the MethodElement that is most specific.
- */
-public MethodElement getMostSpecific(MethodElement aMethodElement, JavaClass aClass) {
- if (aMethodElement == null) return this;
- if (aMethodElement.isDefault() && !isDefault())
- return this;
- if (!aMethodElement.isDefault() && isDefault())
- return aMethodElement;
- if (aMethodElement.hasMethodParams() && !hasMethodParams())
- return aMethodElement;
- if (!aMethodElement.hasMethodParams() && hasMethodParams())
- return this;
- if (isUnspecified() && !aMethodElement.isUnspecified())
- return aMethodElement;
- return this;
-}
-public static MethodElement getMostSpecificMethodElement(List methodElements, Method aMethod) {
- MethodElement specificME = null;
- if (aMethod != null) {
- Iterator it = methodElements.iterator();
- MethodElement me;
- while (it.hasNext()) {
- me = (MethodElement) it.next();
- if (me.represents(aMethod)) {
- if (me.uniquelyIdentifies(aMethod))
- return me;
- else if (specificME == null)
- specificME = me;
- else
- specificME = specificME.getMostSpecific(me, aMethod.getJavaClass());
- }
- }
- }
- return specificME;
-}
-protected String getParmsString() {
- String parmString = getParms();
- if (parmString == null)
- parmString = ""; //$NON-NLS-1$
- return parmString;
-}
-/**
- * Return a String array for the possible MethodElement type names.
- */
-public static String[] getPossibleTypeNames() {
- EjbPackage pack = EjbFactoryImpl.getPackage();
- List literals = pack.getMethodElementKind().getELiterals();
- String[] names = new String[literals.size()];
- for (int i = 0; i < literals.size(); i++)
- names[i] = literals.get(i).toString();
- return names;
-}
-/**
- * Return the signature.
- * For example: setTwoParamMethod(java.lang.String, java.lang.String)
- */
-public String getSignature() {
- if (isDefault())
- return getName();
- StringBuffer buf = new StringBuffer();
- buf.append(getName());
- if (hasMethodParams()){
- buf.append(RIGHT_PAREN);
- StringTokenizer tok = getMethodParamsTokenizer();
- if (tok != null) {
- while (tok.hasMoreTokens()) {
- buf.append(tok.nextToken());
- if (tok.hasMoreTokens())
- buf.append(COMMA);
- }
- }
- buf.append(LEFT_PAREN);
- }
- return buf.toString();
-}
-// Returns null if the EEnum is UNSPECIFIED
-// unless it is a MessageDriven bean.
-public JavaClass getTypeJavaClass() {
- if (isHome())
- return getEnterpriseBean().getHomeInterface();
- else if (isRemote())
- return getEnterpriseBean().getRemoteInterface();
- else if (isLocalHome())
- return getEnterpriseBean().getLocalHomeInterface();
- else if (isLocal())
- return getEnterpriseBean().getLocalInterface();
- else if (isUnspecified() && getEnterpriseBean().isMessageDriven())
- return getEnterpriseBean().getEjbClass();
- else
- return null;
-}
- /**
- * Answer whether method params apply to this method, e.g., it is specific to one
- * overloaded method, even if the method is a zero parameter method. Answer false if no
- * parameters apply, that is, the method element applies to all overloaded methods with this name
- */
-public boolean hasMethodParams() {
- return getParms() != null;
-}
-/**
- * Parse @aSignature setting the name and the params.
- * A signature example: setTwoParamMethod(java.lang.String, java.lang.String)
- */
-public void initializeFromSignature(String aSignature) {
- parseSignature(aSignature);
-}
-public boolean isDefault() {
- return JavaClass.DEFAULT_METHOD_NAME.equals(getName());
-}
-/**
- * Return true if this MethodElement and @anotherMethodElement
- * represent the same exact methods.
- */
-public boolean isEquivalent(MethodElement anotherMethodElement) {
- boolean equal = equalSignature(anotherMethodElement);
- if (equal)
- equal = getEnterpriseBean() == anotherMethodElement.getEnterpriseBean();
- return equal;
-}
-public boolean isHome() {
- return getType().getValue() == MethodElementKind.HOME;
-}
-public boolean isRemote() {
- return getType().getValue() == MethodElementKind.REMOTE;
-}
-public boolean isUnspecified() {
- return getType().getValue() == MethodElementKind.UNSPECIFIED;
-}
-public boolean isLocalHome() {
- return getType().getValue() == MethodElementKind.LOCAL_HOME;
-}
-public boolean isLocal() {
- return getType().getValue() == MethodElementKind.LOCAL;
-}
-/**
- * Return true if this MethodElement represents one or more
- * methods.
- */
-public boolean isValid() {
- return getMethods().length > 0;
-}
-/**
- * Return true only if all the parameters for @aMethod
- * matches the names in the list of parameters.
- */
-public boolean matchesParams(Method aMethod) {
- if (aMethod == null) return false;
- List params = getMethodParams();
- JavaParameter[] methodParams = aMethod.listParametersWithoutReturn();
- if (params.size() != methodParams.length)
- return false;
- for (int i = 0; i < methodParams.length; i++){
- String parameterType = ((JavaHelpers)methodParams[i].getEType()).getQualifiedName();
- if (!params.get(i).equals(parameterType))
- return false;
- }
- return true;
-}
-/**
- * Return true if this MethodElement has the same basic signature as
- * @aMethod, ignoring the return type, thrown exceptions, and declaring class of
- * this instance or @aMethod. Return false, if params is null
- */
-public boolean nameAndParamsEquals(Method aMethod) {
- if (aMethod != null) {
- if (getName().equals(aMethod.getName())) {
- if (hasMethodParams())
- return matchesParams(aMethod);
- return false;
- }
- }
- return false;
-}
-protected boolean parmsEqual(MethodElement me) {
- if (me == null) return false;
- List myParms, otherParms;
- myParms = getMethodParams();
- otherParms = me.getMethodParams();
- if (myParms.size() != otherParms.size()) return false;
- for (int i = 0; i < myParms.size(); i++){
- if (!myParms.get(i).equals(otherParms.get(i)))
- return false;
- }
- return true;
-}
-/**
- * Parse @aSignature setting the name and the params.
- * A signature example: setTwoParamMethod(java.lang.String, java.lang.String)
- */
-protected void parseSignature(String aSignature) {
- int index = aSignature.indexOf(RIGHT_PAREN);
-
- int endIndex = aSignature.indexOf(LEFT_PAREN);
- if (endIndex < 0)
- {
- endIndex = aSignature.length() - 1;
- }
-
- if (index < 0){
- setName(aSignature);
- setParms(null); //There are no parameters in the sig so set to null
- }
- else {
- String sigName = aSignature.substring(0, index);
-
- setName(sigName);
- String sigParms = aSignature.substring(index + 1, endIndex);
-
- if (sigParms.length() > 0) {
- char commaChar = COMMA.charAt(0);
- char[] sigParmsChars = sigParms.toCharArray();
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < sigParmsChars.length; i++) {
- if (sigParmsChars[i] != commaChar) {
- buf.append(sigParmsChars[i]);
- } else {
- addMethodParams(buf.toString());
- buf = new StringBuffer();
- }
- }
- addMethodParams(buf.toString());
- } else
- applyZeroParams();
- }
-}
-public void removeMethodParams(String param) {
- String myParams = getParms();
- if (myParams == null || myParams.length() == 0) {
- return;
- }
- StringTokenizer tok = new StringTokenizer(myParams);
- StringBuffer newParms = new StringBuffer();
- while (tok.hasMoreElements()) {
- String token = tok.nextToken();
- if (!token.equals(param)) {
- newParms.append(token);
- newParms.append(" "); //$NON-NLS-1$
- }
- }
- setParms(newParms.toString().trim());
-}
-/**
- * represents method comment.
- */
-public boolean represents(Method aMethod) {
- if (aMethod != null) {
- if (isUnspecified() || typeClassImplementsInterface(aMethod.getJavaClass())) {
- if (isDefault())
- return true;
- else
- if (getName().equals(aMethod.getName())) {
- if (hasMethodParams())
- return matchesParams(aMethod);
- return true;
- }
- }
- }
- return false;
-}
-/**
- * Sets the id to be [MethodTransactionID| MethodPermissionID]_EJBNAME_MethodName,
- * or [MethodTransactionID| MethodPermissionID]_EJBNAME_MethodName_Parms, if parms exist
- */
-public void setIdToReadableString() {
- String aParms = getParms() == null ? "" : "_"+getParms().replace(' ', '_'); //$NON-NLS-1$ //$NON-NLS-2$
- String prefix = ""; //$NON-NLS-1$
- switch (MethodElementHelper.getContainedType(this)) {
- case MethodElementHelper.METHOD_PERMISSION :
- prefix = ((XMIResource)eContainer.eResource()).getID(eContainer);
- break;
- case MethodElementHelper.METHOD_TRANSACTION :
- prefix = ((XMIResource)eContainer.eResource()).getID(eContainer);
- break;
- }
- ((XMIResource)eResource()).setID(this,prefix + "_" + getEnterpriseBean().getName() + "_" + getName() + aParms); //$NON-NLS-1$ //$NON-NLS-2$
-}
-protected boolean typeClassImplementsInterface(JavaClass anInterface) {
- if (getTypeJavaClass() == null || anInterface == null) return false;
- return getTypeJavaClass().implementsInterface(anInterface);
-}
-/**
- * Return true if this MethodElement uniquely identifies
- * @aMethod. Return false, even if the MethodElement represents
- * @aMethod (i.e., @aMethod is contained in its list of methods).
- */
-public boolean uniquelyIdentifies(Method aMethod) {
- if (aMethod != null) {
- if (getTypeJavaClass() != null &&
- typeClassImplementsInterface(aMethod.getJavaClass()) &&
- getName().equals(aMethod.getName())) {
- if (hasMethodParams())
- return matchesParams(aMethod);
- return aMethod.listParametersWithoutReturn().length==0;
- }
- }
- return false;
-}
- /**
- * @generated This field/method will be replaced during code generation
- * The method-name element contains a name of an enterprise bean method,
- * or the asterisk (*) character. The asterisk is used when the element
- * denotes all the methods of an enterprise bean's remote and home
- * interfaces.
-
- */
- public String getName() {
- return name;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setName(String newName) {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.METHOD_ELEMENT__NAME, oldName, name));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public String getParms() {
- return parms;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setParms(String newParms) {
- String oldParms = parms;
- parms = newParms;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.METHOD_ELEMENT__PARMS, oldParms, parms));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public MethodElementKind getType() {
- return type;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setType(MethodElementKind newType) {
- MethodElementKind oldType = type;
- type = newType == null ? TYPE_EDEFAULT : newType;
- boolean oldTypeESet = typeESet;
- typeESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.METHOD_ELEMENT__TYPE, oldType, type, !oldTypeESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetType() {
- MethodElementKind oldType = type;
- boolean oldTypeESet = typeESet;
- type = TYPE_EDEFAULT;
- typeESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, EjbPackage.METHOD_ELEMENT__TYPE, oldType, TYPE_EDEFAULT, oldTypeESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetType() {
- return typeESet;
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- * The description element is used by the ejb-jar file producer to provide text describing the parent element. The description element 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 parent element.
- */
- 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.METHOD_ELEMENT__DESCRIPTION, oldDescription, description));
- }
-
- /**
- * @generated This field/method will be replaced during code generation
- */
- public EnterpriseBean getEnterpriseBean() {
- if (enterpriseBean != null && enterpriseBean.eIsProxy()) {
- EnterpriseBean oldEnterpriseBean = enterpriseBean;
- enterpriseBean = (EnterpriseBean)eResolveProxy((InternalEObject)enterpriseBean);
- if (enterpriseBean != oldEnterpriseBean) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, EjbPackage.METHOD_ELEMENT__ENTERPRISE_BEAN, oldEnterpriseBean, enterpriseBean));
- }
- }
- return enterpriseBean;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EnterpriseBean basicGetEnterpriseBean() {
- return enterpriseBean;
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void setEnterpriseBean(EnterpriseBean newEnterpriseBean) {
- EnterpriseBean oldEnterpriseBean = enterpriseBean;
- enterpriseBean = newEnterpriseBean;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, EjbPackage.METHOD_ELEMENT__ENTERPRISE_BEAN, oldEnterpriseBean, enterpriseBean));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getDescriptions() {
- if (descriptions == null) {
- descriptions = new EObjectContainmentEList(Description.class, this, EjbPackage.METHOD_ELEMENT__DESCRIPTIONS);
- }
- return descriptions;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
- if (featureID >= 0) {
- switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
- case EjbPackage.METHOD_ELEMENT__DESCRIPTIONS:
- return ((InternalEList)getDescriptions()).basicRemove(otherEnd, msgs);
- default:
- return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
- }
- }
- return eBasicSetContainer(null, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(EStructuralFeature eFeature, boolean resolve) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case EjbPackage.METHOD_ELEMENT__NAME:
- return getName();
- case EjbPackage.METHOD_ELEMENT__PARMS:
- return getParms();
- case EjbPackage.METHOD_ELEMENT__TYPE:
- return getType();
- case EjbPackage.METHOD_ELEMENT__DESCRIPTION:
- return getDescription();
- case EjbPackage.METHOD_ELEMENT__ENTERPRISE_BEAN:
- if (resolve) return getEnterpriseBean();
- return basicGetEnterpriseBean();
- case EjbPackage.METHOD_ELEMENT__DESCRIPTIONS:
- return getDescriptions();
- }
- return eDynamicGet(eFeature, resolve);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case EjbPackage.METHOD_ELEMENT__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case EjbPackage.METHOD_ELEMENT__PARMS:
- return PARMS_EDEFAULT == null ? parms != null : !PARMS_EDEFAULT.equals(parms);
- case EjbPackage.METHOD_ELEMENT__TYPE:
- return isSetType();
- case EjbPackage.METHOD_ELEMENT__DESCRIPTION:
- return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
- case EjbPackage.METHOD_ELEMENT__ENTERPRISE_BEAN:
- return enterpriseBean != null;
- case EjbPackage.METHOD_ELEMENT__DESCRIPTIONS:
- return descriptions != null && !descriptions.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eSet(EStructuralFeature eFeature, Object newValue) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case EjbPackage.METHOD_ELEMENT__NAME:
- setName((String)newValue);
- return;
- case EjbPackage.METHOD_ELEMENT__PARMS:
- setParms((String)newValue);
- return;
- case EjbPackage.METHOD_ELEMENT__TYPE:
- setType((MethodElementKind)newValue);
- return;
- case EjbPackage.METHOD_ELEMENT__DESCRIPTION:
- setDescription((String)newValue);
- return;
- case EjbPackage.METHOD_ELEMENT__ENTERPRISE_BEAN:
- setEnterpriseBean((EnterpriseBean)newValue);
- return;
- case EjbPackage.METHOD_ELEMENT__DESCRIPTIONS:
- getDescriptions().clear();
- getDescriptions().addAll((Collection)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case EjbPackage.METHOD_ELEMENT__NAME:
- setName(NAME_EDEFAULT);
- return;
- case EjbPackage.METHOD_ELEMENT__PARMS:
- setParms(PARMS_EDEFAULT);
- return;
- case EjbPackage.METHOD_ELEMENT__TYPE:
- unsetType();
- return;
- case EjbPackage.METHOD_ELEMENT__DESCRIPTION:
- setDescription(DESCRIPTION_EDEFAULT);
- return;
- case EjbPackage.METHOD_ELEMENT__ENTERPRISE_BEAN:
- setEnterpriseBean((EnterpriseBean)null);
- return;
- case EjbPackage.METHOD_ELEMENT__DESCRIPTIONS:
- getDescriptions().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * @generated This field/method will be replaced during code generation.
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (name: ");
- result.append(name);
- result.append(", parms: ");
- result.append(parms);
- result.append(", type: ");
- if (typeESet) result.append(type); else result.append("<unset>");
- result.append(", description: ");
- result.append(description);
- result.append(')');
- return result.toString();
- }
-
-}
-
-
-
-
-
-

Back to the top