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.ejb3.metafacades;
6   
7   import org.andromda.metafacades.uml.EntityAttribute;
8   
9   /**
10   * Represents an EJB attribute.
11   *
12   * Metafacade interface to be used by AndroMDA cartridges.
13   */
14  public interface EJB3EntityAttributeFacade
15      extends EntityAttribute
16  {
17      /**
18       * Indicates the metafacade type (used for metafacade mappings).
19       *
20       * @return boolean always <code>true</code>
21       */
22      public boolean isEJB3EntityAttributeFacadeMetaType();
23  
24      /**
25       * Defines the column definition DDL used when creating table schema - use to override default
26       * container DDL.  This is automatically defined if the attribute type is an enumeration.
27       * @return String
28       */
29      public String getColumnDefinition();
30  
31      /**
32       * Set the column precision value.  Only applies to double and float columns.
33       * ie Use for setting dollar precision.
34       * @return String
35       */
36      public String getColumnPrecision();
37  
38      /**
39       * Column scale use denotes the decimal precision.
40       * ie Use to set the 2 digit cent scale.
41       * @return String
42       */
43      public String getColumnScale();
44  
45      /**
46       * Returns the persistent property/field enumeration type.  Will return either ORDINAL for enums
47       * mapped as an integer or STRING for enums mapped as a string.  If not specified on an
48       * enumerated type, then the ORDINAL type is assumed
49       * @return String
50       */
51      public String getEnumerationType();
52  
53      /**
54       * Gets the fetch type for this attribute.  Default fetch type for attribute is EAGER.
55       * This will return either EAGER or LAZY.
56       * @return String
57       */
58      public String getFetchType();
59  
60      /**
61       * Returns the amount to increment the generator value when allocating id numbers.
62       * @return int
63       */
64      public int getGeneratorAllocationSize();
65  
66      /**
67       * Returns the org.hibernate.annotations.GenericGenerator strategy either a predefined Hibernate
68       * strategy or a fully qualified class name.
69       * @return String
70       */
71      public String getGeneratorGenericStrategy();
72  
73      /**
74       * Returns the inital value assigned when allocating ids from the specified generator.
75       * @return int
76       */
77      public int getGeneratorInitialValue();
78  
79      /**
80       * Return the name for the generator, if one exists and should exists for SequenceGenerator and
81       * TableGenerator, which can be reference by the id for its generator.
82       * @return String
83       */
84      public String getGeneratorName();
85  
86      /**
87       * Returns the name of the primary key value in the generator table assigned to this set of
88       * generated values.
89       * @return String
90       */
91      public String getGeneratorPkColumnValue();
92  
93      /**
94       * Returns the sequence name or table name for the generator depending on the generator type
95       * specified.
96       * @return String
97       */
98      public String getGeneratorSourceName();
99  
100     /**
101      * Determine the generator type for the Id annotation on the entity attribute - the PK strategy.
102      * If the attribute type is numeric, the default generator type is AUTO.  Otherwise, the
103      * generator type is NONE, ie for String types.
104      * @return String
105      */
106     public String getGeneratorType();
107 
108     /**
109      * Returns the user overridden lob type for this property.  This is set via tagged value
110      * andromda_persistence_lob_type.  Default values are String for Clob and byte[] for Blob.
111      * @return String
112      */
113     public String getLobType();
114 
115     /**
116      * The overridden hibernate type for the annotation on the entity attribute, to manually specify
117      * a type using the @org.hibernate.annotations.Type or in other persistence provider. Generally
118      * used for Boolean types in legacy databases, i.e yes_no, true_false. Could be:The name of a
119      * Hibernate basic type: integer, string, character, date, timestamp, float, binary,
120      * serializable, object, blob etc.; The name of a Java class with a default basic type: int,
121      * float, char, String, java.util.Date, java.lang.Integer, java.sql.Clob etc.; The
122      * name of a serializable Java class; The class name of a custom type:
123      * com.illflow.type.MyCustomType etc.
124      * @return String
125      */
126     public String getOverrideType();
127 
128     /**
129      * Returns the temporal type value set via tagged value on attribute if one exists.  Expect one
130      * of DATE, TIME, TIMESTAMP or NONE.  This can only be applied to attributes of type
131      * java.util.Date or java.util.Calendar.
132      * @return String
133      */
134     public String getTemporalType();
135 
136     /**
137      * Whether the column can be nullable.  False for identifier and unique fields.  If
138      * andromda_persistence_column_nullable tag is set, the tagged value is used.  Otherwise,
139      * determine if this attribute is required from the multiplicity set on the attribute.
140      * @return boolean
141      */
142     public boolean isColumnNullable();
143 
144     /**
145      * Returns true if this attribute's type is an embedded value object.
146      * @return boolean
147      */
148     public boolean isContainsEmbeddedObject();
149 
150     /**
151      * Determine if the fetch type for this attribute is eager loading.
152      * @return boolean
153      */
154     public boolean isEager();
155 
156     /**
157      * Returns true if an auto generator has been assigned to this attribute, false otherwise.
158      * @return boolean
159      */
160     public boolean isGeneratorTypeAuto();
161 
162     /**
163      * Returns true if a generic generator has been assigned to this attribute, false otherwise.
164      * @return boolean
165      */
166     public boolean isGeneratorTypeGeneric();
167 
168     /**
169      * Returns true if an identity generator has been assigned to this attribute, false otherwise.
170      * @return boolean
171      */
172     public boolean isGeneratorTypeIdentity();
173 
174     /**
175      * Returns true no generator has been assigned to this attribute, false otherwise.
176      * @return boolean
177      */
178     public boolean isGeneratorTypeNone();
179 
180     /**
181      * Returns true if a sequence generator has been assigned to this attribute, false otherwise.
182      * @return boolean
183      */
184     public boolean isGeneratorTypeSequence();
185 
186     /**
187      * Returns true if a table generator has been assigned to this attribute, false otherwise.
188      * @return boolean
189      */
190     public boolean isGeneratorTypeTable();
191 
192     /**
193      * Specifies whether a mapped column should be included in SQL INSERT statements.
194      * @return boolean
195      */
196     public boolean isInsertEnabled();
197 
198     /**
199      * Determine if the fetch type for this attribute is lazy loading.
200      * @return boolean
201      */
202     public boolean isLazy();
203 
204     /**
205      * Returns true if the property type is specified as datatype::Blob or datatype::Clob.
206      * LOB type is CLOB for characters or BLOB for binary data.
207      * @return boolean
208      */
209     public boolean isLob();
210 
211     /**
212      * Specifies whether a mapped column should be included in SQL UPDATE statements.
213      * @return boolean
214      */
215     public boolean isUpdateEnabled();
216 
217     /**
218      * True is this attribute is a version property (optimistic lock value) for this entity class.
219      * @return boolean
220      */
221     public boolean isVersion();
222 }