001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.cartridges.ejb3.metafacades; 006 007import java.util.Collection; 008import org.andromda.metafacades.uml.Service; 009 010/** 011 * Represents a message driven EJB. 012 * 013 * Metafacade interface to be used by AndroMDA cartridges. 014 */ 015public interface EJB3MessageDrivenFacade 016 extends Service 017{ 018 /** 019 * Indicates the metafacade type (used for metafacade mappings). 020 * 021 * @return boolean always <code>true</code> 022 */ 023 public boolean isEJB3MessageDrivenFacadeMetaType(); 024 025 /** 026 * Returns the acknowledge mode for this JMS message driven bean. This is automatically handled 027 * by the container. EJB 3.0 spec states: 028 * For container managed transaction demarcation, message acknowledgment is automatically 029 * handled as part of transaction commit. If bean-managed transaction demarcation is used, the 030 * message receipt cannot be part of the bean-managed transaction, therefore the receipt is 031 * acknowledged by the container. If this property is not specified, AUTO_ACKNOWLEDGE semantics 032 * is assumed. 033 * Possible values are AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE. 034 * @return String 035 */ 036 public String getAcknowledgeMode(); 037 038 /** 039 * Returns the comma separated list of attributes.<p/>This method can be used to generate 040 * argument lists for constructors and method calls. 041 * @param attributes Collection 042 * @param includeTypes boolean 043 * @param includeNames boolean 044 * @return String 045 */ 046 public String getAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames); 047 048 /** 049 * Gets all constants for this message driven EJB. Constants are defined as static read-only 050 * attributes which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the 051 * inheritance hierarchy will be followed and we'll retrieve all constants from any super types 052 * as well. 053 * @param follow boolean 054 * @return Collection 055 */ 056 public Collection getConstants(boolean follow); 057 058 /** 059 * Returns the destination queue or topic JNDI name this message driven bean is associated with. 060 * @return String 061 */ 062 public String getDestination(); 063 064 /** 065 * Returns the destination type of the message driven bean. Possible values are javax.jms.Queue 066 * or javax.jms.Topic. 067 * Queues ensure that messages are not missed, even if the EJB server is not running. Same 068 * applis to durable topic subscriptions. 069 * @return String 070 */ 071 public String getDestinationType(); 072 073 /** 074 * This returns a subscription name which is only required for durable subscriptions. 075 * @return String 076 */ 077 public String getDurableSubscriptionId(); 078 079 /** 080 * Gets all env-entries for the specified session EJB. Env-entries are stored as static 081 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the 082 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super 083 * types as well. 084 * @param follow boolean 085 * @return Collection 086 */ 087 public Collection getEnvironmentEntries(boolean follow); 088 089 /** 090 * Returns the fully qualified message driven bean implementation name. 091 * @return String 092 */ 093 public String getFullyQualifiedMessageDrivenImplementationName(); 094 095 /** 096 * Returns the fully qualified message driven bean listener name. 097 * @return String 098 */ 099 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}