1 // license-header java merge-point
2 //
3 // Attention: generated code (by Metafacade.vsl) - do not modify!
4 //
5 package org.andromda.cartridges.ejb3.metafacades;
6
7 import java.util.Collection;
8 import org.andromda.metafacades.uml.Service;
9
10 /**
11 * Represents a message driven EJB.
12 *
13 * Metafacade interface to be used by AndroMDA cartridges.
14 */
15 public interface EJB3MessageDrivenFacade
16 extends Service
17 {
18 /**
19 * Indicates the metafacade type (used for metafacade mappings).
20 *
21 * @return boolean always <code>true</code>
22 */
23 public boolean isEJB3MessageDrivenFacadeMetaType();
24
25 /**
26 * Returns the acknowledge mode for this JMS message driven bean. This is automatically handled
27 * by the container. EJB 3.0 spec states:
28 * For container managed transaction demarcation, message acknowledgment is automatically
29 * handled as part of transaction commit. If bean-managed transaction demarcation is used, the
30 * message receipt cannot be part of the bean-managed transaction, therefore the receipt is
31 * acknowledged by the container. If this property is not specified, AUTO_ACKNOWLEDGE semantics
32 * is assumed.
33 * Possible values are AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE.
34 * @return String
35 */
36 public String getAcknowledgeMode();
37
38 /**
39 * Returns the comma separated list of attributes.<p/>This method can be used to generate
40 * argument lists for constructors and method calls.
41 * @param attributes Collection
42 * @param includeTypes boolean
43 * @param includeNames boolean
44 * @return String
45 */
46 public String getAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames);
47
48 /**
49 * Gets all constants for this message driven EJB. Constants are defined as static read-only
50 * attributes which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the
51 * inheritance hierarchy will be followed and we'll retrieve all constants from any super types
52 * as well.
53 * @param follow boolean
54 * @return Collection
55 */
56 public Collection getConstants(boolean follow);
57
58 /**
59 * Returns the destination queue or topic JNDI name this message driven bean is associated with.
60 * @return String
61 */
62 public String getDestination();
63
64 /**
65 * Returns the destination type of the message driven bean. Possible values are javax.jms.Queue
66 * or javax.jms.Topic.
67 * Queues ensure that messages are not missed, even if the EJB server is not running. Same
68 * applis to durable topic subscriptions.
69 * @return String
70 */
71 public String getDestinationType();
72
73 /**
74 * This returns a subscription name which is only required for durable subscriptions.
75 * @return String
76 */
77 public String getDurableSubscriptionId();
78
79 /**
80 * Gets all env-entries for the specified session EJB. Env-entries are stored as static
81 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the
82 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super
83 * types as well.
84 * @param follow boolean
85 * @return Collection
86 */
87 public Collection getEnvironmentEntries(boolean follow);
88
89 /**
90 * Returns the fully qualified message driven bean implementation name.
91 * @return String
92 */
93 public String getFullyQualifiedMessageDrivenImplementationName();
94
95 /**
96 * Returns the fully qualified message driven bean listener name.
97 * @return String
98 */
99 public String getFullyQualifiedMessageDrivenListenerName();
100
101 /**
102 * Returns the fully qualified message driven bean name.
103 * @return String
104 */
105 public String getFullyQualifiedMessageDrivenName();
106
107 /**
108 * Returns the fully qualified message driven test class name
109 * @return String
110 */
111 public String getFullyQualifiedMessageDrivenTestName();
112
113 /**
114 * Returns the Collection of target elements from the message-driven bean class where the
115 * target class has a stereotype of Interceptor.
116 * @return Collection
117 */
118 public Collection getInterceptorReferences();
119
120 /**
121 * Returns the MDB maximum pool size.
122 * @return int
123 */
124 public int getMaximumPoolSize();
125
126 /**
127 * Returns the message driven bean implementation name.
128 * @return String
129 */
130 public String getMessageDrivenImplementationName();
131
132 /**
133 * Returns the message driven bean callback listener name.
134 * @return String
135 */
136 public String getMessageDrivenListenerName();
137
138 /**
139 * Returns message driven bean name.
140 * @return String
141 */
142 public String getMessageDrivenName();
143
144 /**
145 * Returns the message driven bean test class name
146 * @return String
147 */
148 public String getMessageDrivenTestName();
149
150 /**
151 * Returns the JMS message selector used when determining the messages a message driven bean is
152 * to receive.
153 * @return String
154 */
155 public String getMessageSelector();
156
157 /**
158 * Returns the MDB minimum pool size.
159 * @return int
160 */
161 public int getMinimumPoolSize();
162
163 /**
164 * Returns the run-as identity for the message driven bean which is used to establish the
165 * identity the bean will use when making calls. It does not affect the identity of the
166 * callers.
167 * @return String
168 */
169 public String getRunAs();
170
171 /**
172 * If the message driven bean is associated with a topic, then this will return the subscription
173 * durability. Possible values are Durable or NonDurable. By default, if a topic subscription
174 * is not specified, the non-durable subscription is assumed.
175 * Durable topic subscriptions ensure that messages are not missed, even if the EJB server is
176 * not running.
177 * @return String
178 */
179 public String getSubscriptionDurability();
180
181 /**
182 * Returns the message driven test package name. This simply appends .test to the existing class
183 * package.
184 * @return String
185 */
186 public String getTestPackageName();
187
188 /**
189 * Returns the transaction demarcation strategy for this bean. Typically, this will return BEAN
190 * for non default CONTAINER managed beans. Unless specified, this will return null indicating
191 * CONTAINER transaction demarcation.
192 * @return String
193 */
194 public String getTransactionManagement();
195
196 /**
197 * Gets the transaction type for this message driven bean. For container managed demarcation,
198 * either the REQUIRED or NOT_SUPPORTED transaction attributes must be used on a message driven
199 * bean.
200 * @return String
201 */
202 public String getTransactionType();
203
204 /**
205 * Returns true if the destination type if a javax.jms.Queue.
206 * @return boolean
207 */
208 public boolean isDestinationTypeQueue();
209
210 /**
211 * Returns true if the destination type is a javax.jms.Topic.
212 * @return boolean
213 */
214 public boolean isDestinationTypeTopic();
215
216 /**
217 * Determines whether to exclude the invocation of the default interceptors for all business
218 * method in the bean.
219 * @return boolean
220 */
221 public boolean isExcludeDefaultInterceptors();
222
223 /**
224 * Returns true if this message driven bean has the stereotype Listener. False otherwise.
225 * @return boolean
226 */
227 public boolean isListenerEnabled();
228
229 /**
230 * Returns true if the topic subscription durability setting is Durable.
231 * @return boolean
232 */
233 public boolean isSubscriptionDurable();
234
235 /**
236 * Returns true if the subscription durability setting is NonDurable.
237 * @return boolean
238 */
239 public boolean isSubscriptionNonDurable();
240
241 /**
242 * Returns true if the transaction demarcation strategy is bean managedfor this bean.
243 * @return boolean
244 */
245 public boolean isTransactionManagementBean();
246 }