001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.ejb.metafacades;
006
007import java.util.Collection;
008import java.util.List;
009import org.andromda.metafacades.uml.Service;
010
011/**
012 * Represents a Session EJB.
013 *
014 * Metafacade interface to be used by AndroMDA cartridges.
015 */
016public interface EJBSessionFacade
017    extends Service
018{
019    /**
020     * Indicates the metafacade type (used for metafacade mappings).
021     *
022     * @return boolean always <code>true</code>
023     */
024    public boolean isEJBSessionFacadeMetaType();
025
026    /**
027     * All instanceAttributes for this session EJB. The list includes the instanceAttributes that
028     * are inherited from super classes. The list contains the inherited instanceAttributes first,
029     * followed by the instanceAttributes defined in this class.
030     * @return List
031     */
032    public List getAllInstanceAttributes();
033
034    /**
035     * All "business" operations for this Session EJB.  These are any operations that are NOT
036     * identified as create methods.
037     * @return Collection
038     */
039    public Collection getBusinessOperations();
040
041    /**
042     * Gets all constants for this session EJB. Constants are defined as static read-only attributes
043     * which do NOT have the <<EnvEntry>> stereotype.  If 'follow' is true, then the inheritance
044     * hierachy will be followed and we'll retrieve all constants from any super types as well.
045     * @param follow boolean
046     * @return Collection
047     */
048    public Collection getConstants(boolean follow);
049
050    /**
051     * Gets create methods for this session EJB.  If 'follow' is set to true, it will follow the
052     * inheritance hierarchy and retrieve those defined on any super types.
053     * @param follow boolean
054     * @return Collection
055     */
056    public Collection getCreateMethods(boolean follow);
057
058    /**
059     * Gets all env-entries for the specified session EJB. Env-entries are stored as static
060     * attributes on the entity and stereotyped as <<EnvEntry>>.  If 'follow' is true, then the
061     * inheritance hierachy will be followed and we'll retrieve all env-entries from any super types
062     * as well.
063     * @param follow boolean
064     * @return Collection
065     */
066    public Collection getEnvironmentEntries(boolean follow);
067
068    /**
069     * A String representing the name of a home interface for this entity EJB.
070     * @return String
071     */
072    public String getHomeInterfaceName();
073
074    /**
075     * Alll inherited instanceAttributes this session EJB.  The instanceAttributes are grouped by
076     * the class that defines the instanceAttributes, with instanceAttributes from the most removed
077     * super class first.
078     * @return List
079     */
080    public List getInheritedInstanceAttributes();
081
082    /**
083     * The JNDI name to which this session EJB is bound.
084     * @return String
085     */
086    public String getJndiName();
087
088    /**
089     * Gets the transaction type for this service (i.e. REQUIRED, etc)
090     * @return String
091     */
092    public String getTransactionType();
093
094    /**
095     * The name of the type of this Session EJB.
096     * @return String
097     */
098    public String getType();
099
100    /**
101     * A string indicating whether the Bean is a local or remotely accessable bean.
102     * @return String
103     */
104    public String getViewType();
105
106    /**
107     * True/false depending on whether or not this Session EJB is stateful or not.
108     * @return boolean
109     */
110    public boolean isStateful();
111
112    /**
113     * True/false depending on whether or not this Session EJB is stateless or not.
114     * @return boolean
115     */
116    public boolean isStateless();
117
118    /**
119     * Whether or not to allow a synthetic (auto generated) create method.
120     * @return boolean
121     */
122    public boolean isSyntheticCreateMethodAllowed();
123}