001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.spring.metafacades;
006
007import org.andromda.metafacades.uml.ServiceOperation;
008
009/**
010 * Represents an operation for a SpringService.
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface SpringServiceOperation
015    extends ServiceOperation
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isSpringServiceOperationMetaType();
023
024    /**
025     * The transaction type for EJB service operations (this is used when Session EJBs wrap the
026     * spring services).
027     * @return String
028     */
029    public String getEjbTransactionType();
030
031    /**
032     * The fully qualified name of the listener that accepts incoming messages for this operation.
033     * @return String
034     */
035    public String getFullyQualifiedMessageListenerName();
036
037    /**
038     * The method call for the implementation operation.
039     * @return String
040     */
041    public String getImplementationCall();
042
043    /**
044     * The name of the the operation used within the service implementation.
045     * @return String
046     */
047    public String getImplementationName();
048
049    /**
050     * The fully qualified name of the implementation return type.
051     * @return String
052     */
053    public String getImplementationReturnTypeName();
054
055    /**
056     * The signature for the implementation operation.
057     * @return String
058     */
059    public String getImplementationSignature();
060
061    /**
062     * The incoming JMS method implementation call.
063     * @return String
064     */
065    public String getIncomingMessageImplementationCall();
066
067    /**
068     * The incoming JMS implementation method signature.
069     * @return String
070     */
071    public String getIncomingMessageImplementationSignature();
072
073    /**
074     * The bean name of the message listener.
075     * @return String
076     */
077    public String getMessageListenerBeanName();
078
079    /**
080     * The bean name of the message listener container.
081     * @return String
082     */
083    public String getMessageListenerContainerBeanName();
084
085    /**
086     * The bean name for the message listener container reference.
087     * @return String
088     */
089    public String getMessageListenerContainerReferenceName();
090
091    /**
092     * Returns the name of the listener that accepts incoming messages for this operation.
093     * @return String
094     */
095    public String getMessageListenerName();
096
097    /**
098     * The outgoing JMS method implementation call.
099     * @return String
100     */
101    public String getOutgoingMessageImplementationCall();
102
103    /**
104     * The outgoing JMS implementation method signature.
105     * @return String
106     */
107    public String getOutgoingMessageImplementationSignature();
108
109    /**
110     * Indicates the "session acknowledge mode" for the JMS session when this operation acts as a
111     * message receiver from the messaging destination (aka JMS topic/queue).
112     * @return String
113     */
114    public String getSessionAcknowledgeMode();
115
116    /**
117     * Gets the throws clause for this service or null if the operation doesn't have any exceptions.
118     * @return String
119     */
120    public String getThrowsClause();
121
122    /**
123     * Retrieves the throws clause allowing a comma separated list of exceptions to be passed in and
124     * appended to the list.
125     * @param initialExceptions String
126     * @return String
127     */
128    public String getThrowsClause(String initialExceptions);
129
130    /**
131     * Stores the Spring transaction type for an operation.
132     * @return String
133     */
134    public String getTransactionType();
135
136    /**
137     * Returns true/false depending on whether or not this SpringServiceOperation should be an
138     * destroy-method
139     * @return boolean
140     */
141    public boolean isDestroyMethod();
142
143    /**
144     * Returns true/false depending on whether or not this SpringServiceOperation should be an
145     * init-method
146     * @return boolean
147     */
148    public boolean isInitMethod();
149
150    /**
151     * This flag tells if the MessageConverter associated to the MessageListenerAdapter handling
152     * incoming message should be set to null.
153     * @return boolean
154     */
155    public boolean isNullMessageConverterRequired();
156
157    /**
158     * Tthis flag includes whether or not the "optimizeAcknowledge" is true/false for a messaging
159     * destination (aka JMS topic/queue); when receiving a message through an ActiveMQ connection,
160     * @return boolean
161     */
162    public boolean isOptimizeAcknowledge();
163
164    /**
165     * Returns true/false depending on whether or not this SpringServiceOperation should be exposed
166     * in a webservice.
167     * @return boolean
168     */
169    public boolean isWebserviceExposed();
170}