1
2
3
4 package org.andromda.cartridges.spring.metafacades;
5
6 /***
7 * <p>
8 * Represents a Spring persistent entity
9 * </p>
10 *
11 * Metafacade interface to be used by AndroMDA cartridges.
12 */
13 public interface SpringEntity
14 extends org.andromda.metafacades.uml.Entity
15 {
16
17 /***
18 * Indicates the metafacade type (used for metafacade mappings).
19 *
20 * @return always <code>true</code>
21 */
22 public boolean isSpringEntityMetaType();
23
24 /***
25 * <p>
26 * Returns all value object references (this includes all those
27 * that are inherited from any parent entities)
28 * </p>
29 */
30 public java.util.Collection getAllValueObjectReferences();
31
32 /***
33 * <p>
34 * A quoted comma separated list of the names of embedded values
35 * belonging to this entity (that represented as attributes)
36 * </p>
37 */
38 public java.lang.String getAttributeEmbeddedValueList();
39
40 /***
41 * <p>
42 * Gets the Spring bean name, and optionally adds a target suffix,
43 * if 'targetSuffix' is set to true.
44 * </p>
45 */
46 public java.lang.String getBeanName(boolean targetSuffix);
47
48 /***
49 * <p>
50 * The DAO base class name. This is the abstract DAO that contains
51 * CRUD operations
52 * </p>
53 * <p>
54 * as well as any generated finders defined on an entity.
55 * </p>
56 */
57 public java.lang.String getDaoBaseName();
58
59 /***
60 * <p>
61 * The business operations modeled on the entity that will be
62 * generated on the DAO (Data Access Object).
63 * </p>
64 */
65 public java.util.Collection getDaoBusinessOperations();
66
67 /***
68 * <p>
69 * The DAO implementation class name.
70 * </p>
71 */
72 public java.lang.String getDaoImplementationName();
73
74 /***
75 * <p>
76 * The name of the DAO for the specified entity.
77 * </p>
78 */
79 public java.lang.String getDaoName();
80
81 /***
82 * <p>
83 * The constant name denoting no transformation is to be applied.
84 * </p>
85 */
86 public java.lang.String getDaoNoTransformationConstantName();
87
88 /***
89 * <p>
90 * The implementation name for the entity.
91 * </p>
92 */
93 public java.lang.String getEntityImplementationName();
94
95 /***
96 * <p>
97 * The name of the plain entity name.
98 * </p>
99 */
100 public java.lang.String getEntityName();
101
102 /***
103 * <p>
104 * The fully qualified name of the base DAO.
105 * </p>
106 */
107 public java.lang.String getFullyQualifiedDaoBaseName();
108
109 /***
110 * <p>
111 * The fully qualified name of the DAO implemetation.
112 * </p>
113 */
114 public java.lang.String getFullyQualifiedDaoImplementationName();
115
116 /***
117 * <p>
118 * The fully qualified name of the DAO.
119 * </p>
120 */
121 public java.lang.String getFullyQualifiedDaoName();
122
123 /***
124 * <p>
125 * The fully qualified name of the entity implementation class.
126 * </p>
127 */
128 public java.lang.String getFullyQualifiedEntityImplementationName();
129
130 /***
131 * <p>
132 * The fully qualified name of the entity class.
133 * </p>
134 */
135 public java.lang.String getFullyQualifiedEntityName();
136
137 /***
138 * <p>
139 * Return the value of the tagged value
140 * @andromda.hibernate.inheritance.
141 * </p>
142 */
143 public java.lang.String getHibernateInheritanceStrategy();
144
145 /***
146 * <p>
147 * Travels up the inheritance hierachy and retrieves the root of
148 * this entity. If the root is the entity itself then just the
149 * entity is returned.
150 * </p>
151 */
152 public org.andromda.cartridges.spring.metafacades.SpringEntity getRoot();
153
154 /***
155 *
156 */
157 public java.util.Collection getValueObjectReferences();
158
159 /***
160 * <p>
161 * Indicates whether or not any business DAO operations are
162 * present.
163 * </p>
164 */
165 public boolean isDaoBusinessOperationsPresent();
166
167 /***
168 * <p>
169 * True if an implementation is required for the dao class, this is
170 * the case when there are business operations or value-object
171 * transformation.
172 * </p>
173 */
174 public boolean isDaoImplementationRequired();
175
176 /***
177 * <p>
178 * Return true if the hibernate inheritance strategy is class.
179 * </p>
180 */
181 public boolean isHibernateInheritanceClass();
182
183 /***
184 * <p>
185 * Return true if the hibernate inheritance strategy is concrete.
186 * </p>
187 */
188 public boolean isHibernateInheritanceConcrete();
189
190 /***
191 * <p>
192 * Return true if the hibernate inheritance strategy is interface.
193 * </p>
194 */
195 public boolean isHibernateInheritanceInterface();
196
197 /***
198 * <p>
199 * Return true if the hibernate inheritance strategy is subclass.
200 * </p>
201 */
202 public boolean isHibernateInheritanceSubclass();
203
204 /***
205 * <p>
206 * Indicates whether or not this entity requires a Hibernate
207 * mapping cfg.xml file within the Spring application context.
208 * </p>
209 */
210 public boolean isRequiresHibernateMapping();
211
212 /***
213 * <p>
214 * Returns true if this entity is meant to be used in a richt
215 * client application.
216 * </p>
217 */
218 public boolean isRichClient();
219
220 }