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.ejb.metafacades;
6   
7   import java.util.Collection;
8   import java.util.List;
9   import org.andromda.metafacades.uml.Entity;
10  
11  /**
12   * Represents an entity EJB.
13   *
14   * Metafacade interface to be used by AndroMDA cartridges.
15   */
16  public interface EJBEntityFacade
17      extends Entity
18  {
19      /**
20       * Indicates the metafacade type (used for metafacade mappings).
21       *
22       * @return boolean always <code>true</code>
23       */
24      public boolean isEJBEntityFacadeMetaType();
25  
26      /**
27       * Find all associations that define relations to other entities.
28       * This method returns the source association ends for all associations that define
29       * a container managed relation.  The returned collection includes both
30       * direct relations and inherited relations. A direct relation is an association with some other
31       * class matching the following criteria: 1) The class at the other side of the association is
32       * stereotyped <<Entity>> 2) The association is navigable from to the other side.
33       * An inherited relation is an association from an abstract super type matching the following
34       * criteria: 1) The inheritance path to this abstract super type, including this super type
35       * itself, consists only of abstract classes with stereotype <<Entity>> 2)  The class at the
36       * other side of the association is stereotyped <<Entity>>. 3) The association is navigable from
37       * this abstract super type to the other side.
38       * Relations must match the following integrity constraint:
39       * - The <<Entity>> at the target end is not abstract.
40       * The integrity constraint is necessary because the target of a container managed relation in
41       * the EJB framework must be a concrete entity bean; there is no such thing as an
42       * "abstract entity bean" in the EJB specification. It is possible, however, to generate and
43       * compile code for this case, an error will only show up at deploy time. In order to catch
44       * this kind of error at the earliest possible stage, this method checks the integrity
45       * constraint and throws an exception if it is violated.
46       * @return Collection
47       */
48      public Collection getAllEntityRelations();
49  
50      /**
51       * All instanceAttributes for this entity. The list includes the instanceAttributes that are
52       * inherited from super classes. The list contains the inherited instanceAttributes first,
53       * followed by the instanceAttributes defined in this class.
54       * @return List
55       */
56      public List getAllInstanceAttributes();
57  
58      /**
59       * Gets all constants for this entity. Constants are defined as static read-only attributes
60       * which do NOT have the <<EnvEntry>> stereotype.   If 'follow' is true, then the inheritance
61       * hierachy will be followed and we'll retrieve all constants from any super types as well.
62       * @param follow boolean
63       * @return Collection
64       */
65      public Collection getConstants(boolean follow);
66  
67      /**
68       * Gets create methods for the entity.  If 'follow'l is set to true, create methods from any
69       * super types will also be retrieved by following up the inheritance chain.
70       * @param follow boolean
71       * @return Collection
72       */
73      public Collection getCreateMethods(boolean follow);
74  
75      /**
76       * TODO: Model Documentation for
77       * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.entityRelations
78       * @return Collection
79       */
80      public Collection getEntityRelations();
81  
82      /**
83       * Gets all env-entries for the specified entity EJB. Env-entries are stored as static
84       * attributes on the entity and stereotyped as <<EnvEntry>>.  If 'follow' is true, then the
85       * inheritance hierachy will be followed and we'll retrieve all env-entries from any super types
86       * as well.
87       * @param follow boolean
88       * @return Collection
89       */
90      public Collection getEnvironmentEntries(boolean follow);
91  
92      /**
93       * A String representing the name of a home interface for this entity EJB.
94       * @return String
95       */
96      public String getHomeInterfaceName();
97  
98      /**
99       * All inherited instanceAttributes this class.  The instanceAttributes are grouped by the class
100      * that defines the instanceAttributes, with instanceAttributes from the most removed super
101      * class first.
102      * @return List
103      */
104     public List getInheritedInstanceAttributes();
105 
106     /**
107      * TODO: Model Documentation for
108      * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.jndiName
109      * @return String
110      */
111     public String getJndiName();
112 
113     /**
114      * Gets select methods for the entity, if all is set to 'true' then ALL select methods will be
115      * retrieved (including those inherited from any superclasses).
116      * @param follow boolean
117      * @return Collection
118      */
119     public Collection getSelectMethods(boolean follow);
120 
121     /**
122      * TODO: Model Documentation for
123      * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.getSqlType
124      * @return String
125      */
126     public String getSqlType();
127 
128     /**
129      * Gets the transaction type for this entity (i.e. REQUIRED, etc)
130      * @return String
131      */
132     public String getTransactionType();
133 
134     /**
135      * TODO: Model Documentation for
136      * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.valueDependencies
137      * @return Collection
138      */
139     public Collection getValueDependencies();
140 
141     /**
142      * A string indicating whether the Bean is a local or remotely accessable bean.
143      * @return String
144      */
145     public String getViewType();
146 
147     /**
148      * TODO: Model Documentation for
149      * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.isAttributePresent
150      * @param att String
151      * @return boolean
152      */
153     public boolean isAttributePresent(String att);
154 
155     /**
156      * TODO: Model Documentation for
157      * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.isIdentifierPresent
158      * @param id String
159      * @return boolean
160      */
161     public boolean isIdentifierPresent(String id);
162 
163     /**
164      * TODO: Model Documentation for
165      * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.isOperationPresent
166      * @param op String
167      * @return boolean
168      */
169     public boolean isOperationPresent(String op);
170 
171     /**
172      * Whether or not to allow a synthetic (auto generated) create method.
173      * @return boolean
174      */
175     public boolean isSyntheticCreateMethodAllowed();
176 }