Skip to main content
summaryrefslogtreecommitdiffstats
blob: 641d59f4957e8fbeca291b46cde9a71218e3aef8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
/*******************************************************************************
 * 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;

import java.util.Comparator;
import java.util.List;

import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.ENamedElement;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jem.java.JavaClass;
import org.eclipse.jem.java.Method;
import org.eclipse.jst.j2ee.common.EJBLocalRef;
import org.eclipse.jst.j2ee.common.EjbRef;
import org.eclipse.jst.j2ee.common.JNDIEnvRefsGroup;
import org.eclipse.jst.j2ee.common.SecurityIdentity;


/**
 * @generated
 * EnterpriseJavaBean is a class.  It can have instances, someone could write an instance document containing Departments and Employees.  It also has attributes, operations, and associations.  These are actually derived//filtered from its implementation classes and interfaces.  For mapping and browsing purposes, though, you would like the EJB to appear as a class.  
 * 
 * In this light, even Session Beans can have associations and properties implemented by their bean.  For example, it would be meaningful to describe associations from a Session to the Entities which it uses to perform its work.
 * @extends ENamedElement
 *
 ** @since 1.0 */
public interface EnterpriseBean extends JNDIEnvRefsGroup, ENamedElement{

/**
 * Creates a List of MethodElements that represent the
 * Methods from @someMethods pointing to this EJB.  It is
 * assumed that all of the methods belong to @anInterface.
 */
List createMethodElements(List someMethods, JavaClass anInterface) ;
/**
 * This method will return a List of newly created MethodElements
 * that represent all the possible MethodElements that can be created
 * and are common to both the Home and Remote interfaces.  These MethodElements are not contained and will
 * not be serialized and should not be added to the model.  Their intention is
 * solely for comparing with actual MethodElements contained in the model.
 * @deprecated used getAvailableUnspecifiedMethodElements
 */
List getAvailableCommonMethodElements() ;

/**
 * This method will return a List of newly created MethodElements
 * that represent all the possible MethodElements that can be created
 * and are common to both the Home and Remote interfaces.  These MethodElements are not contained and will
 * not be serialized and should not be added to the model.  Their intention is
 * solely for comparing with actual MethodElements contained in the model.
 */
List getAvailableUnspecifiedMethodElements() ;
/**
 * This method will return a List of MethodElements signatures
 * that represent all the possible MethodElements that can be created
 * and are common to both the Home and Remote interfaces.
 * @deprecated used getAvailableUnspecifiedMethodElementSignatures
 */
List getAvailableCommonMethodElementSignatures() ;
/**
 * This method will return a List of MethodElements signatures
 * that represent all the possible MethodElements that can be created
 * and are common to both the Home and Remote interfaces.
 */
List getAvailableUnspecifiedMethodElementSignatures() ;
/**
 * This method will return a List of newly created MethodElements
 * that represent all the possible MethodElements that can be created
 * for the Home interface.  These MethodElements are not contained and will
 * not be serialized and should not be added to the model.  Their intention is
 * solely for comparing with actual MethodElements contained in the model.
 */
List getAvailableHomeMethodElements() ;
/**
 * This method will return a List of newly created MethodElements
 * that represent all the possible MethodElements that can be created
 * for the Local Home interface.  These MethodElements are not contained and will
 * not be serialized and should not be added to the model.  Their intention is
 * solely for comparing with actual MethodElements contained in the model.
 */
List getAvailableLocalHomeMethodElements() ;
/**
 * This method will return a List of newly created MethodElements
 * that represent all the possible MethodElements that can be created
 * for the Local interface.  These MethodElements are not contained and will
 * not be serialized and should not be added to the model.  Their intention is
 * solely for comparing with actual MethodElements contained in the model.
 */
List getAvailableLocalMethodElements() ;
/**
 * This method will return a List of newly created MethodElements
 * that represent all the possible MethodElements that can be created
 * for the Remote interface.  These MethodElements are not contained and will
 * not be serialized and should not be added to the model.  Their intention is
 * solely for comparing with actual MethodElements contained in the model.
 */
List getAvailableRemoteMethodElements() ;
/**
 * Return a List of all available MethodElements for all types as well as the
 * existing MethodElements from the <code>refObject</code>.  The parameter
 * will be either a MethodTransaction or a MethodPermission.  The List will be
 * sorted based on the passed EjbMethodElementComparator
 */
public List getExistingOrAvailableMethodElements(EObject refObject, Comparator comparator) ;
/**
 * Return a List of all available MethodElements for all types as well as the
 * existing MethodElements from the <code>refObject</code>.  The parameter
 * will be either a MethodTransaction or a MethodPermission.  The List will be
 * sorted based on the EjbMethodElementComparator
 */
public List getExistingOrAvailableMethodElements(EObject refObject) ;
public String getEjbClassName();
/**
 * Return an EjbRef contained by this bean which is
 * equivalent to @anEjbRef.
 */
EjbRef getEquivalentEjbRef(EjbRef anEjbRef) ;
/**
 * Method getEquivalentEJBLocalRef.
 * @param anEjbLocalRef
 * @return EJBLocalRef
 */
EJBLocalRef getEquivalentEJBLocalRef(EJBLocalRef anEjbLocalRef);

public String getHomeInterfaceName();
public Method[] getHomeMethodsForDeployment();
/**
 * Return an EjbRef that is physically linked to @anEJB.
 */
EjbRef getLinkedEJBReference(EnterpriseBean anEJB) ;
/**
 * Return an EJBLocalRef that is physically linked to @anEJB.
 */
EJBLocalRef getLinkedEJBLocalReference(EnterpriseBean anEJB) ;
public String getLocalHomeInterfaceName();
public Method[] getLocalHomeMethodsForDeployment();
public String getLocalInterfaceName();
public String getRemoteInterfaceName();
public Method[] getRemoteMethodsForDeployment();
/**
 * Return true if @aJavaClass as equal to the
 * home, remote, bean class, or key class.
 */
boolean hasJavaReference(JavaClass aJavaClass) ;
/**
 * Return true if this ejb has BeanManagedPersistance.
 */
boolean isBeanManagedEntity() ;
public boolean isContainerManagedEntity();
public boolean isEntity();
public boolean isMessageDriven();
public boolean isSession();

/**
 * returns an integer representing the version of the bean in the EJBJar
 * @see org.eclipse.jst.j2ee.internal.J2EEVersionConstants
 */
public int getVersionID();

/**
 * @deprecated - Use {@link #getVersionID()}
 * @see org.eclipse.jst.j2ee.internal.J2EEVersionConstants
 */
public boolean isVersion1_X() ;

/**
 * @deprecated - Use {@link #getVersionID()}
 * @see org.eclipse.jst.j2ee.internal.J2EEVersionConstants
 */
public boolean isVersion2_X() ;

/**
 * Return true if this EJB has a local interface and a local home
 * interface.
 */
public boolean hasLocalClient();

/**
 * Return true if this EJB has a remote interface and a home
 * interface.
 */
public boolean hasRemoteClient();

/**
 * Fix the role-link on any contained role refs
 */
public void reSyncSecurityRoleRef(String existingRoleName, String newRoleName);
public void setEjbClassName(String ejbClassName);
public void setHomeInterfaceName(String homeInterfaceName);
public void setLocalHomeInterfaceName(String localHomeInterfaceName);
public void setLocalInterfaceName(String localInterfaceName);
public void setRemoteInterfaceName(String remoteInterfaceName);
	/**
	 * Returns the value of the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Name</em>' attribute.
	 * @see #setName(String)
	 * @see org.eclipse.jst.j2ee.ejb.EjbPackage#getEnterpriseBean_Name()
	 * @model
	 * @generated
	 */
	String getName();

	/**
	 * Sets the value of the '{@link org.eclipse.jst.j2ee.ejb.EnterpriseBean#getName <em>Name</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Name</em>' attribute.
	 * @see #getName()
	 * @generated
	 */
	void setName(String value);

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @return The list of SecurityRoleRefs references
	 */
	EList getSecurityRoleRefs();

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @return The EjbClass reference
	 */
	JavaClass getEjbClass();

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @param l The new value of the EjbClass reference
	 */
	void setEjbClass(JavaClass value);

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @return The HomeInterface reference
	 */
	JavaClass getHomeInterface();

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @param l The new value of the HomeInterface reference
	 */
	void setHomeInterface(JavaClass value);

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @return The RemoteInterface reference
	 */
	JavaClass getRemoteInterface();

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @param l The new value of the RemoteInterface reference
	 */
	void setRemoteInterface(JavaClass value);

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @return The EjbJar reference
	 */
	EJBJar getEjbJar();

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @param l The new value of the EjbJar reference
	 */
	void setEjbJar(EJBJar value);

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @return The SecurityIdentity reference
	 * The security-identity element specifies whether the caller's security identity
	 * is to be used for the execution of the methods of the enterprise bean or
	 * whether a specific run-as identity is to be used. It
	 * contains an optional description and a specification of the security identity
	 * to be used.
	 */
	SecurityIdentity getSecurityIdentity();

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @param l The new value of the SecurityIdentity reference
	 */
	void setSecurityIdentity(SecurityIdentity value);

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @return The LocalHomeInterface reference
	 */
	JavaClass getLocalHomeInterface();

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @param l The new value of the LocalHomeInterface reference
	 */
	void setLocalHomeInterface(JavaClass value);

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @return The LocalInterface reference
	 */
	JavaClass getLocalInterface();

	/**
	 * @generated This field/method will be replaced during code generation 
	 * @param l The new value of the LocalInterface reference
	 */
	void setLocalInterface(JavaClass value);

}






Back to the top