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 }