View Javadoc
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 }