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.hibernate.metafacades;
6   
7   import java.util.Collection;
8   import org.andromda.metafacades.uml.Entity;
9   
10  /**
11   * Represents an hibernate persistent entity.
12   *
13   * Metafacade interface to be used by AndroMDA cartridges.
14   */
15  public interface HibernateEntity
16      extends Entity
17  {
18      /**
19       * Indicates the metafacade type (used for metafacade mappings).
20       *
21       * @return boolean always <code>true</code>
22       */
23      public boolean isHibernateEntityMetaType();
24  
25      /**
26       * Return all the user defined operations for this entity. Used when leafImpl is true.
27       * @return Collection
28       */
29      public Collection getAllBusinessOperations();
30  
31      /**
32       * EhCache property. Defines the maximum number of objects that will be created in memory.
33       * @return int
34       */
35      public int getEhCacheMaxElementsInMemory();
36  
37      /**
38       * EhCache property. Defines the time to idle for an element before it expires.
39       * @return int
40       */
41      public int getEhCacheTimeToIdleSeconds();
42  
43      /**
44       * EhCache property. Defines the time to live for an element before it expires.
45       * @return int
46       */
47      public int getEhCacheTimeToLiveSeconds();
48  
49      /**
50       * The name of the implementation class.
51       * @return String
52       */
53      public String getEntityImplementationName();
54  
55      /**
56       * The name used for the hibernate entity.
57       * @return String
58       */
59      public String getEntityName();
60  
61      /**
62       * TODO: Model Documentation for
63       * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.fullyQualifiedEntityImplementationName
64       * @return String
65       */
66      public String getFullyQualifiedEntityImplementationName();
67  
68      /**
69       * TODO: Model Documentation for
70       * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.fullyQualifiedEntityName
71       * @return String
72       */
73      public String getFullyQualifiedEntityName();
74  
75      /**
76       * Cache policy for the entity. Posible values are read-write, nonstrict-read-write, read-only
77       * @return String
78       */
79      public String getHibernateCacheType();
80  
81      /**
82       * TODO: Model Documentation for
83       * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.hibernateDefaultCascade
84       * @return String
85       */
86      public String getHibernateDefaultCascade();
87  
88      /**
89       * The name of the discriminator column. Default is class.
90       * @return String
91       */
92      public String getHibernateDiscriminatorColumn();
93  
94      /**
95       * The standard length of a discriminator value. Default is 1.
96       * @return int
97       */
98      public int getHibernateDiscriminatorLength();
99  
100     /**
101      * The type of the hibernate discriminator column. Default is string.
102      * @return String
103      */
104     public String getHibernateDiscriminatorType();
105 
106     /**
107      * The name of the discriminator value. Default is the name of the class
108      * @return String
109      */
110     public String getHibernateDiscriminatorValue();
111 
112     /**
113      * TODO: Model Documentation for
114      * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.hibernateGeneratorClass
115      * @return String
116      */
117     public String getHibernateGeneratorClass();
118 
119     /**
120      * Return the value of andromda.hibernate.inheritance tagged value.
121      * @return String
122      */
123     public String getHibernateInheritanceStrategy();
124 
125     /**
126      * Stores the value of the Hibernate version property.
127      * @return String
128      */
129     public String getHibernateVersionProperty();
130 
131     /**
132      * The SQL name of the hibernate version property.
133      * @return String
134      */
135     public String getHibernateVersionPropertySqlName();
136 
137     /**
138      * Returns the mapping class name to use (this is will be 'class', 'subclass', etc) depending on
139      * whether the entity is a specialization and what type of inheritance strategy is employed.
140      * @return String
141      */
142     public String getMappingClassName();
143 
144     /**
145      * Gets the sequence name.
146      * @return String
147      */
148     public String getSequenceName();
149 
150     /**
151      * Gets the name of the key column if the inheritance strategy is "subclass".  If the strategy
152      * is not "subclass" this returns null.
153      * @return String
154      */
155     public String getSubclassKeyColumn();
156 
157     /**
158      * TODO: Model Documentation for
159      * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.version
160      * @return int
161      */
162     public int getVersion();
163 
164     /**
165      * TODO: Model Documentation for
166      * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.xmlTagName
167      * @return String
168      */
169     public String getXmlTagName();
170 
171     /**
172      * Indicates whether or not any entity operations are present.
173      * @return boolean
174      */
175     public boolean isBusinessOperationsPresent();
176 
177     /**
178      * Specifies if hibernate dynamic-insert will be enabled / disabled for this entity
179      * @return boolean
180      */
181     public boolean isDynamicInsert();
182 
183     /**
184      * Specifies if hibernate dynamic-update will be enabled / disabled for this entity
185      * @return boolean
186      */
187     public boolean isDynamicUpdate();
188 
189     /**
190      * EhCache property. Defines if elements are eternal.
191      * @return boolean
192      */
193     public boolean isEhCacheEternal();
194 
195     /**
196      * EhCache property. Defines if elements can overflow to disk
197      * @return boolean
198      */
199     public boolean isEhCacheOverflowToDisk();
200 
201     /**
202      * Indicates whether or not hibernate generator class for this SpringEntity is foreign or not.
203      * @return boolean
204      */
205     public boolean isForeignHibernateGeneratorClass();
206 
207     /**
208      * Specifies whether the cache for this entity is to be distributed.
209      * @return boolean
210      */
211     public boolean isHibernateCacheDistributed();
212 
213     /**
214      * Return true if the hibernate inheritance strategy as specified by the tagged value
215      * andromda_inheritance_strategy is defined as class.
216      * @return boolean
217      */
218     public boolean isHibernateInheritanceClass();
219 
220     /**
221      * Return true if the hibernate inheritance strategy as specified by the tagged value
222      * andromda_inheritance_strategy is defined as concrete.
223      * @return boolean
224      */
225     public boolean isHibernateInheritanceConcrete();
226 
227     /**
228      * Return true if the hibernate inheritance strategy as specified by the tagged value
229      * andromda_inheritance_strategy is defined as interface.
230      * @return boolean
231      */
232     public boolean isHibernateInheritanceInterface();
233 
234     /**
235      * Return true if the hibernate inheritance strategy as specified by the tagged value
236      * andromda_inheritance_strategy is defined as subclass.
237      * @return boolean
238      */
239     public boolean isHibernateInheritanceSubclass();
240 
241     /**
242      * TODO: Model Documentation for
243      * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.hibernateInheritanceUnionSubClass
244      * @return boolean
245      */
246     public boolean isHibernateInheritanceUnionSubClass();
247 
248     /**
249      * TODO: Model Documentation for
250      * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.hibernateProxy
251      * @return boolean
252      */
253     public boolean isHibernateProxy();
254 
255     /**
256      * Specifies whether the entity should be loaded lazily.
257      * @return boolean
258      */
259     public boolean isLazy();
260 
261     /**
262      * Indicates whether or not the mapping for the the entity requires the properties of the super
263      * entity to be included within the mapping.  If this evalutes to true, then the properties of
264      * this entity would be rendered into the specialization's mapping file.
265      * @return boolean
266      */
267     public boolean isMappingRequiresSuperProperties();
268 
269     /**
270      * Indicates if this entity requires a mapping of its own.
271      * @return boolean
272      */
273     public boolean isRequiresMapping();
274 
275     /**
276      * Indicates if the entity requires specialization mappng.  This happens when the inheritance
277      * strategy is "subclass", or "class".
278      * @return boolean
279      */
280     public boolean isRequiresSpecializationMapping();
281 
282     /**
283      * Indicates whether or not the hibernate generator class is specified as "sequence".
284      * @return boolean
285      */
286     public boolean isSequenceHibernateGeneratorClass();
287 
288     /**
289      * Indicates if a table is required for this entity (sometimes it will not be depending on the
290      * inheritance strategy used).
291      * @return boolean
292      */
293     public boolean isTableRequired();
294 }