001: package org.andromda.cartridges.hibernate;
002:
003: import org.andromda.core.profile.Profile;
004: import org.andromda.metafacades.uml.UMLProfile;
005:
006: /**
007: * The Hibernate profile. Contains the profile information (tagged values, and stereotypes) for the Hibernate
008: * cartridge.
009: *
010: * @author Chad Brandon
011: * @author Carlos Cuenca
012: */
013: public class HibernateProfile extends UMLProfile {
014: /**
015: * The Profile instance from which we retrieve the mapped profile names.
016: */
017: private static final Profile profile = Profile.instance();
018:
019: /* ----------------- Stereotypes -------------------- */
020: /* ----------------- Tagged Values -------------------- */
021:
022: /**
023: * Tag attached to entities, attributes, and/or association ends to specify the
024: * name of the XML node to generate when v3 XML Persistence is activated.
025: */
026: public static final String TAGGEDVALUE_HIBERNATE_XML_TAG_NAME = profile
027: .get("HIBERNATE_XML_TAG_NAME");
028:
029: /**
030: * Tag attached to association ends to determine if the associated entity should be embed
031: * in as XML when v3 XML Persistence is activated.
032: */
033: public static final String TAGGEDVALUE_HIBERNATE_XML_EMBED = profile
034: .get("HIBERNATE_XML_EMBED");
035:
036: /**
037: * Stores the hibernate generator class.
038: */
039: public static final String TAGGEDVALUE_HIBERNATE_GENERATOR_CLASS = profile
040: .get("HIBERNATE_GENERATOR_CLASS");
041:
042: /**
043: * Stores a hibernate query string
044: */
045: public static final String TAGGEDVALUE_HIBERNATE_QUERY = profile
046: .get("HIBERNATE_QUERY");
047:
048: /**
049: * Define whether the marked finder will use named parameters or positional parameters.
050: */
051: public static final String TAGGEDVALUE_HIBERNATE_USE_NAMED_PARAMETERS = profile
052: .get("HIBERNATE_USE_NAMED_PARAMETERS");
053:
054: /**
055: * Stores the viewtype of the Hibernate Session EJB.
056: */
057: public static final String TAGGEDVALUE_EJB_VIEWTYPE = profile
058: .get("EJB_VIEWTYPE");
059:
060: /**
061: * Stores the EJB service transaction type.
062: */
063: public static final String TAGGEDVALUE_EJB_TRANSACTION_TYPE = profile
064: .get("EJB_TRANSACTION_TYPE");
065:
066: /**
067: * Stores the aggregation kind (lazy/eager) of the Hibernate Session EJB.
068: */
069: public static final String TAGGEDVALUE_HIBERNATE_LAZY = profile
070: .get("HIBERNATE_LAZY");
071:
072: /**
073: * Support for hibernate inheritance strategy, supported values are <ul> <li>class : one table per base class</li>
074: * <li>subclass : one table per subclass</li> <li>concrete : one table per class, subclasses may implement subclass
075: * or joined-subclass</li> <li>union-subclass: generate per concrete class with union-subclass mapping</li> <li>
076: * interface : generate interface and put attributes etc on subclasses</li> </ul> See Hibernate documentation for
077: * specific details.
078: */
079: public static final String TAGGEDVALUE_HIBERNATE_INHERITANCE = profile
080: .get("HIBERNATE_INHERITANCE");
081:
082: /**
083: * Defines outer join fetching on many to one and one to one associations
084: */
085: public static final String TAGGEDVALUE_HIBERNATE_OUTER_JOIN = profile
086: .get("HIBERNATE_OUTER_JOIN");
087:
088: /**
089: * Defines if a query within a finder method should use the cache
090: */
091: public static final String TAGGEDVALUE_HIBERNATE_USE_QUERY_CACHE = profile
092: .get("HIBERNATE_USE_QUERY_CACHE");
093:
094: /**
095: * Defines the cache type for the Entity
096: */
097: public static final String TAGGEDVALUE_HIBERNATE_ENTITY_CACHE = profile
098: .get("HIBERNATE_ENTITY_CACHE");
099:
100: /**
101: * Defines if the entity will limit the SQL insert statement to properties with values
102: */
103: public static final String TAGGEDVALUE_HIBERNATE_ENTITY_DYNAMIC_INSERT = profile
104: .get("HIBERNATE_ENTITY_DYNAMIC_INSERT");
105:
106: /**
107: * Defines if the entity will limit the SQL update statements to properties that are modified
108: */
109: public static final String TAGGEDVALUE_HIBERNATE_ENTITY_DYNAMIC_UPDATE = profile
110: .get("HIBERNATE_ENTITY_DYNAMIC_UPDATE");
111:
112: /**
113: * Defines the cache type for an association
114: */
115: public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATION_CACHE = profile
116: .get("HIBERNATE_ASSOCIATION_CACHE");
117:
118: /**
119: * Defines if the entity has a proxy
120: */
121: public static final String TAGGEDVALUE_HIBERNATE_PROXY = profile
122: .get("HIBERNATE_PROXY");
123:
124: /**
125: * Defines the maximum number of objects that will be created in memory
126: */
127: public static final String TAGGEDVALUE_HIBERNATE_EHCACHE_MAX_ELEMENTS = profile
128: .get("HIBERNATE_EHCACHE_MAX_ELEMENTS");
129:
130: /**
131: * Defines if elements are eternal.
132: */
133: public static final String TAGGEDVALUE_HIBERNATE_EHCACHE_ETERNAL = profile
134: .get("HIBERNATE_EHCACHE_ETERNAL");
135:
136: /**
137: * Defines the time to idle for an element before it expires.
138: */
139: public static final String TAGGEDVALUE_HIBERNATE_EHCACHE_TIME_TO_IDLE = profile
140: .get("HIBERNATE_EHCACHE_TIME_TO_IDLE");
141:
142: /**
143: * Defines the time to live for an element before it expires.
144: */
145: public static final String TAGGEDVALUE_HIBERNATE_EHCACHE_TIME_TO_LIVE = profile
146: .get("HIBERNATE_EHCACHE_TIME_TO_LIVE");
147:
148: /**
149: * Defines if elements can overflow to disk.
150: */
151: public static final String TAGGEDVALUE_HIBERNATE_EHCACHE_OVERFLOW_TO_DISK = profile
152: .get("HIBERNATE_EHCACHE_OVERFLOW_TO_DISK");
153:
154: /**
155: * Defines if the cache for this entity is to be distributed.
156: */
157: public static final String TAGGEDVALUE_HIBERNATE_ENTITYCACHE_DISTRIBUTED = profile
158: .get("HIBERNATE_ENTITYCACHE_DISTRIBUTED");
159:
160: /**
161: * Defines if the cache for this association is to be distributed.
162: */
163: public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATIONCACHE_DISTRIBUTED = profile
164: .get("HIBERNATE_ASSOCIATIONCACHE_DISTRIBUTED");
165:
166: /**
167: * Defines the association collection type
168: */
169: public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATION_COLLECTION_TYPE = profile
170: .get("HIBERNATE_ASSOCIATION_COLLECTION_TYPE");
171:
172: /**
173: * Defines the association sort type.
174: */
175: public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATION_SORT_TYPE = profile
176: .get("HIBERNATE_ASSOCIATION_SORT_TYPE");
177:
178: /**
179: * Defines the association order by columns names.
180: */
181: public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATION_ORDER_BY_COLUMNS = profile
182: .get("HIBERNATE_ASSOCIATION_ORDER_BY_COLUMNS");
183:
184: /**
185: * Defines the association where clause.
186: */
187: public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATION_WHERE_CLAUSE = profile
188: .get("HIBERNATE_ASSOCIATION_WHERE_CLAUSE");
189:
190: /**
191: * Defines the index column for hibernate indexed collections
192: */
193: public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATION_INDEX = profile
194: .get("HIBERNATE_ASSOCIATION_INDEX");
195:
196: /**
197: * Defines the index column type for hibernate indexed collections
198: */
199: public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATION_INDEX_TYPE = profile
200: .get("HIBERNATE_ASSOCIATION_INDEX_TYPE");
201:
202: /**
203: * Defines the tagged value for hibernate version property on entities
204: */
205: public static final String TAGGEDVALUE_HIBERNATE_VERSION_PROPERTY = profile
206: .get("HIBERNATE_VERSION_PROPERTY");
207:
208: /**
209: * Defines the tagged value for hibernate cascade on an association end
210: */
211: public static final String TAGGEDVALUE_HIBERNATE_CASCADE = profile
212: .get("HIBERNATE_CASCADE");
213:
214: /**
215: * Stores sql formula for an attribute.
216: */
217: public static final String TAGGEDVALUE_HIBERNATE_FORMULA = profile
218: .get("HIBERNATE_FORMULA");
219:
220: /**
221: * Column name of the dicriminator-column
222: */
223: public static final String TAGGEDVALUE_ENTITY_DISCRIMINATOR_COLUMN = profile
224: .get("ENTITY_DISCRIMINATOR_COLUMN");
225:
226: /**
227: * Column type of the discriminator-column
228: */
229: public static final String TAGGEDVALUE_ENTITY_DISCRIMINATOR_TYPE = profile
230: .get("ENTITY_DISCRIMINATOR_TYPE");
231:
232: /**
233: * Value of the class for the discriminator-column
234: */
235: public static final String TAGGEDVALUE_ENTITY_DISCRIMINATOR_VALUE = profile
236: .get("ENTITY_DISCRIMINATOR_VALUE");
237:
238: /**
239: * Specifies whether a mapped column should be included in SQL INSERT statements.
240: */
241: public static final String TAGGEDVALUE_HIBERNATE_PROPERTY_INSERT = profile
242: .get("HIBERNATE_PROPERTY_INSERT");
243:
244: /**
245: * Specifies whether a mapped column should be included in SQL UPDATE statements.
246: */
247: public static final String TAGGEDVALUE_HIBERNATE_PROPERTY_UPDATE = profile
248: .get("HIBERNATE_PROPERTY_UPDATE");
249:
250: }
|