View Javadoc
1   package org.andromda.cartridges.ejb3;
2   
3   import org.andromda.core.profile.Profile;
4   import org.andromda.metafacades.uml.UMLProfile;
5   
6   /**
7    * The EJB3 profile. Contains the profile information (tagged values, and stereotypes) for the EJB3 cartridge.
8    *
9    * @author Vance Karimi
10   */
11  public class EJB3Profile
12      extends UMLProfile
13  {
14      /**
15       * The Profile instance from which we retrieve the mapped profile names.
16       */
17      private static final Profile profile = Profile.instance();
18  
19      /* ----------------- Stereotypes -------------------- */
20  
21      /**
22       * 'Entity' Specifies the entity bean stereotype.
23       */
24      public static final String STEREOTYPE_ENTITY =
25          profile.get("ENTITY");
26  
27      /**
28       * 'MappedSuperclass' Specifies this class as a mapped/embeddable super class.
29       */
30      public static final String STEREOTYPE_MAPPED_SUPERCLASS =
31          profile.get("MAPPED_SUPERCLASS");
32  
33      /**
34       * 'Service' Specifies the service bean stereotype.
35       */
36      public static final String STEREOTYPE_SERVICE =
37          profile.get("SERVICE");
38  
39      /**
40       * 'MessageDriven' Specifies the JMS message driven bean stereotype.
41       */
42      public static final String STEREOTYPE_MESSAGE_DRIVEN =
43          profile.get("MESSAGE_DRIVEN");
44  
45      /**
46       * 'CreateMethod' Specifies the create method stereotype - used in entity POJO
47       * and session bean.
48       */
49      public static final String STEREOTYPE_CREATE_METHOD =
50          profile.get("CREATE_METHOD");
51  
52      /**
53       * Specifies the select method stereotype - used in EJB2.x
54       * This may be deprecated in future releases.
55       */
56      public static final String STEREOTYPE_SELECT_METHOD = "SelectMethod";
57  
58      /**
59       * 'EnvEntry' Specifies the environment entry stereotype used on static variables
60       * to permit Resource injection.
61       */
62      public static final String STEREOTYPE_ENV_ENTRY =
63          profile.get("ENV_ENTRY");
64  
65      /**
66       * 'Version' Specifies the version stereotype - optimistic lock value of an attribute of an entity.
67       */
68      public static final String STEREOTYPE_VERSION =
69          profile.get("VERSION");
70  
71      /**
72       * 'ValueRef' Represents a reference to a value object - used in EJB2.x
73       * This may be deprecated in future releases.
74       */
75      public static final String STEREOTYPE_VALUE_REF =
76          profile.get("VALUE_REF");
77  
78      /**
79       * 'PersistenceContext' Represents a persistence context instance referenced from a session bean.
80       */
81      public static final String STEREOTYPE_PERSISTENCE_CONTEXT =
82          profile.get("PERSISTENCE_CONTEXT");
83  
84      /**
85       * 'ResourceRef' Represents a reference to a resource i.e. UserTransaction or DataSource.
86       */
87      public static final String STEREOTYPE_RESOURCE_REF =
88          profile.get("RESOURCE_REF");
89  
90      /**
91       * 'UserTransaction' Represents a class used to inject a javax.transaction.UserTransaction as a resource.
92       */
93      public static final String STEREOTYPE_USER_TRANSACTION =
94          profile.get("USER_TRANSACTION");
95  
96      /**
97       * 'DataSource' Represents a class used to inject a javax.sql.DataSource as a resource.
98       */
99      public static final String STEREOTYPE_DATA_SOURCE =
100         profile.get("DATA_SOURCE");
101 
102     /**
103      * 'Interceptor' Represents an interceptor class for a session or message-driven bean.
104      */
105     public static final String STEREOTYPE_INTERCEPTOR =
106         profile.get("INTERCEPTOR");
107 
108     /**
109      * 'RunAs' Represents a dependency from an actor that is identified to
110      * apply a run-as identity to the bean when making calls.
111      */
112     public static final String STEREOTYPE_SECURITY_RUNAS =
113         profile.get("SECURITY_RUN_AS");
114 
115     /**
116      * 'Listener' Represents a callback listener class for entity, session and
117      * message driven bean classes.
118      */
119     public static final String STEREOTYPE_LISTENER =
120         profile.get("LISTENER");
121 
122     /**
123      * 'Timeout' Specifies the session bean operation as a
124      * Timer Service timeout callback method.
125      */
126     public static final String STEREOTYPE_SERVICE_TIMER_TIMEOUT =
127         profile.get("SERVICE_TIMER_TIMEOUT");
128 
129     /**
130      * 'FirstResult' The stereotype indicating the finder method parameter result type
131      * is assigned to be the first/index.
132      */
133     public static final String STEREOTYPE_FINDER_RESULT_TYPE_FIRST =
134         profile.get("RESULT_TYPE_FIRST");
135 
136     /**
137      * 'MaxResult' The stereotype indicating the finder method parameter result type
138      * is assigned to be the max results to return.
139      */
140     public static final String STEREOTYPE_FINDER_RESULT_TYPE_MAX =
141         profile.get("RESULT_TYPE_MAX");
142 
143     /**
144      * 'PostConstruct' Specifies the session/message-driven bean operation as a post-construct callback
145      */
146     public static final String STEREOTYPE_POST_CONSTRUCT =
147         profile.get("POST_CONSTRUCT");
148 
149     /**
150      * 'PreDestroy' Specifies the session/message-driven bean operation as a pre-destroy callback
151      */
152     public static final String STEREOTYPE_PRE_DESTROY =
153         profile.get("PRE_DESTROY");
154 
155     /**
156      * 'PostActivate' Specifies the session bean operation as a post-activate callback
157      */
158     public static final String STEREOTYPE_POST_ACTIVATE =
159         profile.get("POST_ACTIVATE");
160 
161     /**
162      * 'PrePassivate' Specifies the session bean operation as a pre-passivate callback
163      */
164     public static final String STEREOTYPE_PRE_PASSIVATE =
165         profile.get("PRE_PASSIVATE");
166 
167     /**
168      * 'PrePersist' Specifies the entity bean operation as a pre-persist callback
169      */
170     public static final String STEREOTYPE_PRE_PERSIST =
171         profile.get("PRE_PERSIST");
172 
173     /**
174      * 'PostPersist' Specifies the entity operation as a post-persist callback
175      */
176     public static final String STEREOTYPE_POST_PERSIST =
177         profile.get("POST_PERSIST");
178 
179     /**
180      * 'PreRemove' Specifies the entity bean operation as a pre-remove callback
181      */
182     public static final String STEREOTYPE_PRE_REMOVE =
183         profile.get("PRE_REMOVE");
184 
185     /**
186      * 'PostRemove' Specifies the entity bean operation as a post-remove callback
187      */
188     public static final String STEREOTYPE_POST_REMOVE =
189         profile.get("POST_REMOVE");
190 
191     /**
192      * 'PreUpdate' Specifies the entity bean operation as a pre-update callback
193      */
194     public static final String STEREOTYPE_PRE_UPDATE =
195         profile.get("PRE_UPDATE");
196 
197     /**
198      * 'PostUpdate' Specifies the entity bean operation as a post-update callback
199      */
200     public static final String STEREOTYPE_POST_UPDATE =
201         profile.get("POST_UPDATE");
202 
203     /**
204      * 'PostLoad' Specifies the entity bean operation as a post-load callback
205      */
206     public static final String STEREOTYPE_POST_LOAD =
207         profile.get("POST_LOAD");
208 
209     /**
210      * 'Seam' Specifies the bean is a Seam component
211      */
212     public static final String STEREOTYPE_SEAM_COMPONENT =
213         profile.get("SEAM_COMPONENT");
214 
215     /**
216      * 'Startup' Specifies that a session scope component is started
217      * immediately at session creation time, unless dependencies
218      * are specified.
219      */
220     public static final String STEREOTYPE_SEAM_COMPONENT_STARTUP =
221         profile.get("SEAM_COMPONENT_STARTUP");
222 
223     /**
224      * 'In' Specifies the bean attribute is a component attribute to be injected from a context variable
225      */
226     public static final String STEREOTYPE_SEAM_BIJECTION_IN =
227         profile.get("SEAM_BIJECTION_IN");
228 
229     /**
230      * 'Out' Specifies the bean attribute is a component attribute to be outjected from a context variable
231      */
232     public static final String STEREOTYPE_SEAM_BIJECTION_OUT =
233         profile.get("SEAM_BIJECTION_OUT");
234 
235     /**
236      *  'Unwrap' Specifies that the object returned by the annotated getter method
237      *  is the thing that is injected instead of the component instance itself.
238      */
239     public static final String STEREOTYPE_SEAM_BIJECTION_UNWRAP =
240         profile.get("SEAM_BIJECTION_UNWRAP");
241 
242     /**
243      * 'Factory' When this stereotype is used on an operation which return void
244      * that operation will be used to initialize the value of the named
245      * context variable, when the context variable has no value.
246      *
247      * When it is used on an operation that returns a value then Seam
248      * should use that value to initialize the value of the named context
249      * variable, when the context variable has no value.
250      *
251      * The context variable is specified by tagged value
252      * andromda.seam.bijection.factory.value. If the method is a getter
253      * method, default to the JavaBeans property name.
254      *
255      * If no scope is explicitly specified by tagged value
256      * andromda.seam.bijection.factory.scope, the scope of the component
257      * with the @Factory method is used (unless the component is stateless,
258      * in which case the EVENT context is used).
259      */
260     public static final String STEREOTYPE_SEAM_BIJECTION_FACTORY =
261         profile.get("SEAM_BIJECTION_FACTORY");
262 
263     /**
264      * 'Logger' Specifies that a component field is to be injected with an instance
265      * of org.jboss.seam.log.Log.
266      */
267     public static final String STEREOTYPE_SEAM_BIJECTION_LOGGER =
268         profile.get("SEAM_BIJECTION_LOGGER");
269 
270     /**
271      * 'RequestParameter' Specifies that a component attribute is to be injected with the
272      * value of a request parameter. Basic type conversions are performed
273      * automatically.
274      */
275     public static final String STEREOTYPE_SEAM_BIJECTION_REQUEST_PARAMETER =
276         profile.get("SEAM_BIJECTION_REQUEST_PARAMETER");
277 
278     /**
279      * 'Create' Indicates that the method is a Seam component lifecycle operation
280      * and should be called when an instance of the component is instantiated by
281      * Seam.
282      */
283     public static final String STEREOTYPE_SEAM_LIFECYCLE_CREATE =
284         profile.get("SEAM_LIFECYCLE_CREATE");
285 
286     /**
287      * 'Destroy' Indicates that the method is a Seam component lifecycle operation
288      * and should be called when the context ends and its context variables
289      * are destroyed.
290      * All SFSB components must define a Destroy method to guarantee
291      * destruction of the SFSB when the context ends.
292      */
293     public static final String STEREOTYPE_SEAM_LIFECYCLE_DESTROY =
294         profile.get("SEAM_LIFECYCLE_DESTROY");
295 
296     /**
297      * 'Begin' Specifies that a long-running conversation begins when this method
298      * returns a non-null outcome without exception.
299      */
300     public static final String STEREOTYPE_SEAM_CONVERSATION_BEGIN =
301         profile.get("SEAM_CONVERSATION_BEGIN");
302 
303     /**
304      * 'End' Specifies that a long-running conversation ends when this method
305      * returns a non-null outcome without exception.
306      */
307     public static final String STEREOTYPE_SEAM_CONVERSATION_END =
308         profile.get("SEAM_CONVERSATION_END");
309 
310     /**
311      * 'BeginTask' Specifies that a long-running conversation ends when this method
312      * returns a non-null outcome without exception.
313      */
314     public static final String STEREOTYPE_SEAM_CONVERSATION_BEGIN_TASK =
315         profile.get("SEAM_CONVERSATION_BEGIN_TASK");
316 
317     /**
318      * 'StartTask' "Starts" a jBPM task. Specifies that a long-running conversation
319      * begins when this method returns a non-null outcome without exception.
320      *
321      * This conversation is associated with the jBPM task specified in the
322      * named request parameter. Within the context of this conversation, a
323      * business process context is also defined, for the business process
324      * instance of the task instance.
325      *
326      * The jBPM TaskInstance will be available in a request context variable
327      * named taskInstance. The jPBM ProcessInstance will be available in a
328      * request context variable named processInstance. (Of course, these
329      * objects are available for injection via @In.)
330      */
331     public static final String STEREOTYPE_SEAM_CONVERSATION_START_TASK =
332         profile.get("SEAM_CONVERSATION_START_TASK");
333 
334     /**
335      * 'EndTask' "Ends" a jBPM task. Specifies that a long-running conversation ends
336      * when this method returns a non-null outcome, and that the current
337      * task is complete. Triggers a jBPM transition. The actual transition
338      * triggered will be the default transition unless the application has
339      * called Transition.setName() on the built-in component named
340      * transition.
341      */
342     public static final String STEREOTYPE_SEAM_CONVERSATION_END_TASK =
343         profile.get("SEAM_CONVERSATION_END_TASK");
344 
345     /**
346      * 'CreateProcess' Creates a new jBPM process instance when the method returns a
347      * non-null outcome without exception. The ProcessInstance object will
348      * be available in a context variable named processInstance.
349      */
350     public static final String STEREOTYPE_SEAM_CONVERSATION_CREATE_PROCESS =
351         profile.get("SEAM_CONVERSATION_CREATE_PROCESS");
352 
353     /**
354      * 'ResumeProcess' Re-enters the scope of an existing jBPM process instance when the
355      * method returns a non-null outcome without exception. The
356      * ProcessInstance object will be available in a context variable
357      * named processInstance.
358      */
359     public static final String STEREOTYPE_SEAM_CONVERSATION_RESUME_PROCESS =
360         profile.get("SEAM_CONVERSATION_RESUME_PROCESS");
361 
362     /**
363      * 'Transactional' Specifies that a JavaBean component should have a similar
364      * transactional behavior to the default behavior of a session bean
365      * component. i.e. method invocations should take place in a
366      * transaction, and if no transaction exists when the method is
367      * called, a transaction will be started just for that method. This
368      * annotation may be applied at either class or method level.
369      */
370     public static final String STEREOTYPE_SEAM_TRANSACTION_TRANSACTIONAL =
371         profile.get("SEAM_TRANSACTION_TRANSACTIONAL");
372 
373     /**
374      * 'Rollback' If the outcome of the method matches any of the listed outcomes,
375      * or if no outcomes are listed, set the transaction to rollback only
376      * when the method completes.
377      */
378     public static final String STEREOTYPE_SEAM_TRANSACTION_ROLLBACK =
379         profile.get("SEAM_TRANSACTION_ROLLBACK");
380 
381     /**
382      * 'Valid' Specifies that the Hibernate Validator should validate this and related
383      * component attributes before an action listener Seam component method is
384      * invoked.
385      */
386     public static final String STEREOTYPE_SEAM_VALIDATION_VALID =
387         profile.get("SEAM_VALIDATION_VALID");
388 
389     /**
390      * 'Validator' Specifies that the validator should validate all Seam components marked
391      * with @Valid annotation before the method is invoked. Use of
392      * tagged values for outcome when validation fails and for refreshing
393      * entities when validation fails is provided.
394      */
395     public static final String STEREOTYPE_SEAM_VALIDATION_VALIDATOR =
396         profile.get("SEAM_VALIDATION_VALIDATOR");
397 
398     /**
399      * 'WebRemote' Indicates that the annotated method may be called from client-side
400      * JavaScript. The exclude property is optional and allows objects to
401      * be excluded from the result's object graph.
402      */
403     public static final String STEREOTYPE_SEAM_WEBREMOTE =
404         profile.get("SEAM_WEBREMOTE");
405 
406     /**
407      * 'Interceptor' This stereotype appear on Seam interceptor classes.
408      *
409      * Please refer to the documentation for the EJB 3.0 specification
410      * for information about the annotations required for EJB interceptor
411      * definition.
412      */
413     public static final String STEREOTYPE_SEAM_INTERCEPTOR =
414         profile.get("SEAM_INTERCEPTOR");
415 
416     /**
417      * 'Asynchronous' Specifies that the method call is processed asynchronously.
418      */
419     public static final String STEREOTYPE_SEAM_ASYNCHRONOUS =
420         profile.get("SEAM_ASYNCHRONOUS");
421 
422     /**
423      * 'Duration' Specifies that a parameter of the asynchronous call is the duration
424      * before the call is processed (or first processed for recurring
425      * calls).
426      */
427     public static final String STEREOTYPE_SEAM_ASYNCHRONOUS_DURATION =
428         profile.get("SEAM_ASYNCHRONOUS_DURATION");
429 
430     /**
431      * 'Expiration' Specifies that a parameter of the asynchronous call is the datetime
432      * at which the call is processed (or first processed for recurring
433      * calls).
434      */
435     public static final String STEREOTYPE_SEAM_ASYNCHRONOUS_EXPIRATION =
436         profile.get("SEAM_ASYNCHRONOUS_EXPIRATION");
437 
438     /**
439      * 'IntervalDuration' Specifies that an asynchronous method call recurs, and that the
440      * annotated parameter is duration between recurrences.
441      */
442     public static final String STEREOTYPE_SEAM_ASYNCHRONOUS_INTERVAL_DURATION =
443         profile.get("SEAM_ASYNCHRONOUS_INTERVAL_DURATION");
444 
445     /**
446      * 'DataModel' Exposes an attribute of type List, Map, Set or Object[] as a JSF
447      * DataModel into the scope of the owning component (or the EVENT
448      * scope if the owning component is STATELESS). In the case of Map,
449      * each row of the DataModel is a Map.Entry.
450      */
451     public static final String STEREOTYPE_SEAM_DATA_DATAMODEL =
452         profile.get("SEAM_DATA_DATAMODEL");
453 
454     /**
455      * 'DataModelSelection' Injects the selected value from the JSF DataModel (this is the
456      * element of the underlying collection, or the map value).
457      */
458     public static final String STEREOTYPE_SEAM_DATA_DATAMODEL_SELECTION =
459         profile.get("SEAM_DATA_DATAMODEL_SELECTION");
460 
461     /**
462      * 'DataModelSelectionIndex' Exposes the selection index of the JSF DataModel as an attribute
463      * of the component (this is the row number of the underlying
464      * collection, or the map key).
465      */
466     public static final String STEREOTYPE_SEAM_DATA_DATAMODEL_SELECTION_INDEX =
467         profile.get("SEAM_DATA_DATAMODEL_SELECTION_INDEX");
468 
469     /* ----------------- Tagged Values -------------------- */
470 
471     /**
472      * andromda_ejb_generateCMR
473      */
474     public static final String TAGGEDVALUE_GENERATE_CMR = "andromda_ejb_generateCMR";
475 
476     /**
477      * 'andromda_ejb_query' The tagged value indicating the EJB query.
478      */
479     public static final String TAGGEDVALUE_EJB_QUERY =
480         profile.get("QUERY");
481 
482     /**
483      * 'andromda_ejb_viewType' The tagged value indicating the view type for the
484      * class or operation.
485      */
486     public static final String TAGGEDVALUE_EJB_VIEWTYPE =
487         profile.get("VIEW_TYPE");
488 
489     /**
490      * 'andromda_ejb_transaction_type' The tagged value indicating the transaction property.
491      */
492     public static final String TAGGEDVALUE_EJB_TRANSACTION_TYPE =
493         profile.get("TRANSACTION_TYPE");
494 
495     /**
496      * 'andromda_ejb_transaction_management' The tagged value indicating the transaction demarcation
497      * strategy.  This only applies at the class level of a
498      * session and message-driven bean.
499      */
500     public static final String TAGGEDVALUE_EJB_TRANSACTION_MANAGEMENT =
501         profile.get("TRANSACTION_MANAGEMENT");
502 
503     /**
504      * 'andromda_ejb_noSyntheticCreateMethod' The tagged value indicating whether to not allow synthetic
505      * (auto generated) create/constructors.
506      */
507     public static final String TAGGEDVALUE_EJB_NO_SYNTHETIC_CREATE_METHOD =
508         profile.get("NO_SYNTHETIC_CREATE_METHOD");
509 
510     /**
511      * 'andromda_persistence_temporal_type' The tagged value indicating the temporal type specified on attributes or
512      * finder method arguments of temporal nature.
513      */
514     public static final String TAGGEDVALUE_PERSISTENCE_TEMPORAL_TYPE =
515         profile.get("TEMPORAL_TYPE");
516 
517     /**
518      * 'andromda_hibernate_type' The tagged value indicating the overridden type specified on attributes or
519      * finder method arguments , to generate @org.hibernate.annotations.Type annotations.
520      */
521     public static final String TAGGEDVALUE_PERSISTENCE_OVERRIDE_TYPE =
522         profile.get("OVERRIDE_TYPE");
523 
524     /**
525      * 'andromda_persistence_table' The tagged value indicating the entity table name.
526      */
527     public static final String TAGGEDVALUE_PERSISTENCE_ENTITY_TABLE_NAME =
528         profile.get("TABLE");
529 
530     /**
531      * 'andromda_persistence_fetch_type' The tagged value indicating the fetch type.
532      */
533     public static final String TAGGEDVALUE_PERSISTENCE_FETCH_TYPE =
534         profile.get("FETCH_TYPE");
535 
536     /**
537      * 'andromda_persistence_cascade_type' The tagged value indicating the cascade type.
538      */
539     public static final String TAGGEDVALUE_PERSISTENCE_CASCADE_TYPE =
540         profile.get("CASCADE_TYPE");
541 
542     /**
543      * 'andromda_persistence_enumeration_type' The tagged value indicating the enumeration type (ORDINAL, STRING).
544      */
545     public static final String TAGGEDVALUE_PERSISTENCE_ENUMERATION_TYPE =
546         profile.get("ENUMERATION_TYPE");
547 
548     /**
549      * 'andromda_persistence_generator_type' The tagged value indicating the generator type.
550      */
551     public static final String TAGGEDVALUE_PERSISTENCE_GENERATOR_TYPE =
552         profile.get("GENERATOR_TYPE");
553 
554     /**
555      * 'andromda_persistence_generator_name' The tagged value indicating the generator name.
556      */
557     public static final String TAGGEDVALUE_PERSISTENCE_GENERATOR_NAME =
558         profile.get("GENERATOR_NAME");
559 
560     /**
561      * 'andromda_persistence_generator_genericStrategy' The tagged value indicating the generator generic strategy.
562      */
563     public static final String TAGGEDVALUE_PERSISTENCE_GENERATOR_GENERIC_STRATEGY =
564         profile.get("GENERATOR_GENERIC_STRATEGY");
565 
566     /**
567      * 'andromda_persistence_generator_source_name' The tagged value indicating the generator source name.
568      */
569     public static final String TAGGEDVALUE_PERSISTENCE_GENERATOR_SOURCE_NAME =
570         profile.get("GENERATOR_SOURCE_NAME");
571 
572     /**
573      * 'andromda_persistence_generator_pkcolumn_value' The tagged value indicating the primary key column value for the generator.
574      */
575     public static final String TAGGEDVALUE_PERSISTENCE_GENERATOR_PKCOLUMN_VALUE =
576         profile.get("GENERATOR_PK_COLUMN_VALUE");
577 
578     /**
579      * 'andromda_persistence_generator_initial_value' The tagged value indicating the initial value for the generator.
580      */
581     public static final String TAGGEDVALUE_PERSISTENCE_GENERATOR_INITIAL_VALUE =
582         profile.get("GENERATOR_INITIAL_VALUE");
583 
584     /**
585      * 'andromda_persistence_generator_allocation_size' The tagged value indicating the step size for the generator.
586      */
587     public static final String TAGGEDVALUE_PERSISTENCE_GENERATOR_ALLOCATION_SIZE =
588         profile.get("GENERATOR_ALLOCATION_SIZE");
589 
590     /**
591      * 'andromda_persistence_column_definition' The tagged value indicating the SQL definition for a column.
592      */
593     public static final String TAGGEDVALUE_PERSISTENCE_COLUMN_DEFINITION =
594         profile.get("COLUMN_DEFINITION");
595 
596     /**
597      * 'andromda_persistence_column_precision' The tagged value for the precision in a float/double column.
598      */
599     public static final String TAGGEDVALUE_PERSISTENCE_COLUMN_PRECISION =
600         profile.get("COLUMN_PRECISION");
601 
602     /**
603      * 'andromda_persistence_column_scale' The tagged value for the scale in a float/double column.
604      */
605     public static final String TAGGEDVALUE_PERSISTENCE_COLUMN_SCALE =
606         profile.get("COLUMN_SCALE");
607 
608     /**
609      * 'andromda_persistence_column_nullable' The tagged value to represent a column that is nullable.
610      */
611     public static final String TAGGEDVALUE_PERSISTENCE_COLUMN_NULLABLE =
612         profile.get("COLUMN_NULLABLE");
613 
614     /**
615      * 'andromda_persistence_column_insert' The tagged value that specifies whether a mapped column should be
616      * included in SQL INSERT statements.
617      */
618     public static final String TAGGEDVALUE_PERSISTENCE_COLUMN_INSERT =
619         profile.get("COLUMN_INSERT");
620 
621     /**
622      * 'andromda_persistence_column_update' The tagged value that specifies whether a mapped column should be included
623      * in SQL UPDATE statements.
624      */
625     public static final String TAGGEDVALUE_PERSISTENCE_COLUMN_UPDATE =
626         profile.get("COLUMN_UPDATE");
627 
628     /**
629      * 'andromda_persistence_orderBy' The tagged value that indicates the order by logic on the
630      * Many side of the One-to-Many and Many-to-Many relationships.
631      */
632     public static final String TAGGEDVALUE_PERSISTENCE_ORDERBY =
633         profile.get("ORDER_BY");
634 
635     /**
636      * 'andromda_persistence_optional' The tagged value indicating the underlying relationship may
637      * be NULL.  If set to false, non-null relationship must always
638      * exist.
639      */
640     public static final String TAGGEDVALUE_PERSISTENCE_OPTIONAL =
641         profile.get("ATTRIBUTE_PERSISTENCE_OPTIONAL");
642 
643     /**
644      * 'andromda_persistence_inheritance' Support for entity inheritance strategy with permitted values:
645      * <ul><li>SINGLE_TABLE : one table per hierarchy</li>
646      * <li>TABLE_PER_CLASS : one table per class in hierarchy</li>
647      * <li>JOINED : one table per class</li></ul>
648      * See EJB 3.0 documentation for specific details.
649      */
650     public static final String TAGGEDVALUE_PERSISTENCE_INHERITANCE =
651         profile.get("ENTITY_INHERITANCE");
652 
653     /**
654      * 'andromda_persistence_discriminator_type' For the inheritance SINGLE_TABLE and JOINED strategies, the persistence
655      * provider will use a specified discriminator type column.  The supported
656      * discriminator types are:
657      * <ul><li>STRING</li><li>CHAR</li><li>INTEGER</li></ul>
658      * See the EJB 3.0 documentation for specific details.
659      */
660     public static final String TAGGEDVALUE_PERSISTENCE_DISCRIMINATOR_TYPE =
661         profile.get("ENTITY_DISCRIMINATOR_TYPE");
662 
663     /**
664      * 'andromda_persistence_discriminator_value' The tagged value indicating that the row is an entity of
665      * the annotated entity type.
666      */
667     public static final String TAGGEDVALUE_PERSISTENCE_DISCRIMINATOR_VALUE =
668         profile.get("ENTITY_DISCRIMINATOR_VALUE");
669 
670     /**
671      * 'andromda_persistence_discriminator_column_name'
672      * The tagged value indicating the name of the column used
673      * for the discriminator
674      */
675     public static final String TAGGEDVALUE_PERSISTENCE_DISCRIMINATOR_COLUMN =
676         profile.get("ENTITY_DISCRIMINATOR_COLUMN");
677 
678     /**
679      * 'andromda_persistence_discriminator_column_definition'
680      * The tagged value representing the SQL used in generation
681      * of DDL for the discriminator column
682      */
683     public static final String TAGGEDVALUE_PERSISTENCE_DISCRIMINATOR_COLUMN_DEFINITION =
684         profile.get("ENTITY_DISCRIMINATOR_COLUMN_DEFINITION");
685 
686     /**
687      * 'andromda_persistence_discriminator_column_length'
688      * The tagged value representing the column length for the
689      * String discriminator column type.
690      */
691     public static final String TAGGEDVALUE_PERSISTENCE_DISCRIMINATOR_COLUMN_LENGTH =
692         profile.get("ENTITY_DISCRIMINATOR_COLUMN_LENGTH");
693 
694     /**
695      * 'andromda_service_persistence_context_unit_name'
696      * The tagged value representing the persistence context
697      * unit name (EntityManager)
698      */
699     public static final String TAGGEDVALUE_EJB_PERSISTENCE_CONTEXT_UNIT_NAME =
700         profile.get("SERVICE_PERSISTENCE_CONTEXT_UNIT_NAME");
701 
702     /**
703      * 'andromda_service_persistence_context_unit_type'
704      * The tagged value representing the persistence context
705      * transaction/extended type
706      */
707     public static final String TAGGEDVALUE_EJB_PERSISTENCE_CONTEXT_TYPE =
708         profile.get("SERVICE_PERSISTENCE_CONTEXT_TYPE");
709 
710     /**
711      * 'andromda_service_persistence_context_datasource'
712      * The tagged value representing the persistence context
713      * datasource JNDI name
714      */
715     public static final String TAGGEDVALUE_EJB_PERSISTENCE_CONTEXT_DATASOURCE =
716         profile.get("SERVICE_PERSISTENCE_CONTEXT_DATASOURCE");
717 
718     /**
719      * 'andromda_service_persistence_flush_mode'
720      * The tagged value representing the flush mode on bean operation.
721      */
722     public static final String TAGGEDVALUE_EJB_PERSISTENCE_FLUSH_MODE =
723         profile.get("SERVICE_PERSISTENCE_FLUSH_MODE");
724 
725     /**
726      * 'andromda_persistence_lob_type'
727      * The tagged value overriding the default LOB type for attribute.
728      */
729     public static final String TAGGEDVALUE_EJB_PERSISTENCE_LOB_TYPE =
730         profile.get("LOB_TYPE");
731 
732     /**
733      * 'andromda_service_type'
734      * The tagged value representing the session EJB type (Stateless or Stateful)
735      */
736     public static final String TAGGEDVALUE_EJB_SESSION_TYPE =
737         profile.get("SERVICE_TYPE");
738 
739     /**
740      * 'andromda_service_security_permitAll'
741      * The tagged value representing whether to permit all roles to execute
742      * operations in the bean.
743      */
744     public static final String TAGGEDVALUE_EJB_SECURITY_PERMIT_ALL =
745         profile.get("SECURITY_PERMIT_ALL");
746 
747     /**
748      * 'andromda_service_security_denyAll'
749      * The tagged value representing whether to deny all roles access rights
750      * to execute operations in the bean.
751      */
752     public static final String TAGGEDVALUE_EJB_SECURITY_DENY_ALL =
753         profile.get("SECURITY_DENY_ALL");
754 
755     /**
756      * 'andromda_service_security_realm'
757      * The tagged value representing the security domain to specify at
758      * the session bean class level.
759      */
760     public static final String TAGGEDVALUE_EJB_SECURITY_REALM =
761         profile.get("SECURITY_REALM");
762 
763     /**
764      * 'andromda_ejb_mdb_acknowledge_mode'
765      * The tagged value representing the JMS message driven bean
766      * acknowledge mode.
767      */
768     public static final String TAGGEDVALUE_EJB_MDB_ACKNOWLEDGE_MODE =
769         profile.get("MDB_ACKNOWLEDGE_MODE");
770 
771     /**
772      * 'andromda_ejb_mdb_destination'
773      * The tagged value representing the JMS message driven bean
774      * destination JNDI name.
775      */
776     public static final String TAGGEDVALUE_EJB_MDB_DESTINATION =
777         profile.get("MDB_DESTINATION");
778 
779     /**
780      * 'andromda_ejb_mdb_destination_type'
781      * The tagged value representing the JMS message driven bean
782      * destination type.
783      */
784     public static final String TAGGEDVALUE_EJB_MDB_DESTINATION_TYPE =
785         profile.get("MDB_DESTINATION_TYPE");
786 
787     /**
788      * 'andromda_ejb_mdb_selector'
789      * The tagged value representing the JMS message driven bean
790      * selector logic.
791      */
792     public static final String TAGGEDVALUE_EJB_MDB_SELECTOR =
793         profile.get("MDB_SELECTOR");
794 
795     /**
796      * 'andromda_ejb_mdb_subscription_durability'
797      * The tagged value representing the JMS message driven bean
798      * topic subscription durability mode.
799      */
800     public static final String TAGGEDVALUE_EJB_MDB_DURABILITY =
801         profile.get("MDB_SUBSCRIPTION_DURABILITY");
802 
803     /**
804      * 'andromda_service_jndi_remote'
805      * The tagged value representing the session bean remote interface
806      * JNDI name.
807      */
808     public static final String TAGGEDVALUE_EJB_SESSION_JNDI_NAME_REMOTE =
809         profile.get("SERVICE_JNDI_NAME_REMOTE");
810 
811     /**
812      * 'andromda_service_jndi_local'
813      * The tagged value representing the session bean local interface
814      * JNDI name.
815      */
816     public static final String TAGGEDVALUE_EJB_SESSION_JNDI_NAME_Local =
817         profile.get("SERVICE_JNDI_NAME_LOCAL");
818 
819     /**
820      * 'andromda_ejb_mdb_pool_size_min'
821      * The tagged value indicating the bean minimum pool size
822      */
823     public static final String TAGGEDVALUE_EJB_MDB_MINIMUM_POOL_SIZE =
824         profile.get("MDB_MINIMUM_POOL_SIZE");
825 
826     /**
827      * 'andromda_ejb_mdb_pool_size_max'
828      * The tagged value indicating the bean maximum pool size
829      */
830     public static final String TAGGEDVALUE_EJB_MDB_MAXIMUM_POOL_SIZE =
831         profile.get("MDB_MAXIMUM_POOL_SIZE");
832 
833     /**
834      * 'andromda_persistence_collection_type'
835      * Defines the association collection type
836      */
837     public static final String TAGGEDVALUE_ASSOCIATION_COLLECTION_TYPE =
838         profile.get("ASSOCIATION_COLLECTION_TYPE");
839 
840     /**
841      * 'andromda_persistence_collection_index_type'
842      * Defines the index column type for ejb3 indexed collections
843      */
844     public static final String TAGGEDVALUE_ASSOCIATION_INDEX_TYPE =
845         profile.get("ASSOCIATION_INDEX_TYPE");
846 
847     /**
848      * 'andromda_persistence_collection_index'
849      * Defines the index column for ejb3 indexed collections
850      */
851     public static final String TAGGEDVALUE_ASSOCIATION_INDEX =
852         profile.get("ASSOCIATION_INDEX");
853 
854     /**
855      * 'andromda_service_interceptor_excludeDefault'
856      * Defines whether to exclude the default interceptors for the session operation.
857      */
858     public static final String TAGGEDVALUE_SERVICE_INTERCEPTOR_EXCLUDE_DEFAULT =
859         profile.get("EXCLUDE_DEFAULT_INTERCEPTORS");
860 
861     /**
862      * 'andromda_service_interceptor_excludeClass'
863      * Defines whether to exclude the class interceptors for the session operation.
864      */
865     public static final String TAGGEDVALUE_SERVICE_INTERCEPTOR_EXCLUDE_CLASS =
866         profile.get("EXCLUDE_CLASS_INTERCEPTORS");
867 
868     /**
869      * 'andromda_service_interceptor_default'
870      * Defines a default interceptor for a session or message-driven bean.
871      */
872     public static final String TAGGEDVALUE_DEFAULT_INTERCEPTOR =
873         profile.get("DEFAULT_INTERCEPTOR");
874 
875     /**
876      * 'andromda_persistence_entity_cache'
877      * Defines the cache type for the Entity.
878      */
879     public static final String TAGGEDVALUE_HIBERNATE_ENTITY_CACHE =
880         profile.get("ENTITY_CACHE");
881 
882     /**
883      * 'andromda_persistence_association_cache'
884      * Defines the cache type for a relationship collection.
885      */
886     public static final String TAGGEDVALUE_HIBERNATE_ASSOCIATION_CACHE =
887         profile.get("ASSOCIATION_CACHE");
888 
889     /**
890      * 'andromda_persistence_associationEnd_primary'
891      * Defines the owning side of a bidirectional navigable relationship.
892      */
893     public static final String TAGGEDVALUE_PERSISTENCE_ASSOCIATION_END_PRIMARY =
894         profile.get("ASSOCIATION_END_PRIMARY");
895 
896     /**
897      * 'andromda_hibernate_cascade'
898      * Defines the tagged value for hibernate cascade on an association end
899      */
900     public static final String TAGGEDVALUE_HIBERNATE_CASCADE =
901         profile.get("HIBERNATE_CASCADE_TYPE");
902 
903     /**
904      * 'andromda_ejb_query_useCache'
905      * Defines whether query cache is enable for query.
906      */
907     public static final String TAGGEDVALUE_EJB_USE_QUERY_CACHE =
908         profile.get("USE_QUERY_CACHE");
909 
910     /**
911      * 'andromda_webservice_parameter_style'
912      * Defines the webservice parameter style
913      */
914     public static final String TAGGEDVALUE_WEBSERVICE_PARAMETER_STYLE =
915         profile.get("WEBSERVICE_PARAMETER_STYLE");
916 
917     /**
918      * 'andromda_webservice_operation_oneway'
919      * Defines the webservice method as oneway
920      */
921     public static final String TAGGEDVALUE_WEBSERVICE_OPERATION_ONEWAY =
922         profile.get("WEBSERVICE_OPERATION_ONEWAY");
923 
924     /**
925      * 'andromda_webservice_operation_name'
926      * Defines the webservice method name
927      */
928     public static final String TAGGEDVALUE_WEBSERVICE_OPERATION_NAME =
929         profile.get("WEBSERVICE_OPERATION_NAME");
930 
931     /**
932      * 'andromda_webservice_operation_result_name'
933      * Defines the webservice method result name
934      */
935     public static final String TAGGEDVALUE_WEBSERVICE_OPERATION_RESULT_NAME =
936         profile.get("WEBSERVICE_OPERATION_RESULT_NAME");
937 
938     /**
939      * 'andromda_seam_component_name'
940      * Defines the Seam component name
941      */
942     public static final String TAGGEDVALUE_SEAM_COMPONENT_NAME =
943         profile.get("SEAM_COMPONENT_NAME");
944 
945     /**
946      * 'andromda_seam_component_role_scope'
947      * Defines the JBoss Seam component scope type
948      */
949     public static final String TAGGEDVALUE_SEAM_SCOPE_TYPE =
950         profile.get("SEAM_COMPONENT_SCOPE_TYPE");
951 
952     /**
953      * 'andromda_seam_component_role_name'
954      * Allows a Seam component to be bound to multiple contexts variables.
955      * The @Name/@Scope annotations define a "default role". Each @Role
956      * annotation defines an additional role.
957      *
958      * This tagged value specifies the context variable name.
959      */
960     public static final String TAGGEDVALUE_SEAM_COMPONENT_ROLE_NAME =
961         profile.get("SEAM_COMPONENT_ROLE_NAME");
962 
963     /**
964      * The context variable scope. When no scope is explicitly specified,
965      * the default depends upon the component type, as above.
966      *
967      * Note! If multiple roles are specified then the list of scopes must
968      * be in the same order as the role names.
969      */
970     public static final String TAGGEDVALUE_SEAM_COMPONENT_ROLE_SCOPE_TYPE =
971         profile.get("SEAM_COMPONENT_ROLE_SCOPE_TYPE");
972 
973     /**
974      * 'andromda_seam_component_intercept'
975      * Determines when Seam interceptors are active. When no interception
976      * type is explicitly specified, the default depends upon the
977      * component type. For entity beans, the default is NEVER. For session
978      * beans, message driven beans and JavaBeans, the default is ALWAYS.
979      */
980     public static final String TAGGEDVALUE_SEAM_COMPONENT_INTERCEPT =
981         profile.get("SEAM_COMPONENT_INTERCEPT");
982 
983     /**
984      * 'andromda_seam_component_jndiname'
985      * Specifies the JNDI name that Seam will use to look up the EJB
986      * component. If no JNDI name is explicitly specified, Seam will use
987      * the JNDI pattern specified by org.jboss.seam.core.init.jndiPattern.
988      */
989     public static final String TAGGEDVALUE_SEAM_COMPONENT_JNDI_NAME =
990         profile.get("SEAM_COMPONENT_JNDI_NAME");
991 
992     /**
993      * 'andromda_seam_component_conversional_ifnotbegunoutcome'
994      * Specifies that a conversation scope component is conversational,
995      * meaning that no method of the component can be called unless a
996      * long-running conversation started by this component is active
997      * (unless the method would begin a new long-running conversation).
998      */
999     public static final String TAGGEDVALUE_SEAM_COMPONENT_CONVERSIONAL_IFNOTBEGUNOUTCOME =
1000         profile.get("SEAM_COMPONENT_CONVERSIONAL_IFNOTBEGUNOUTCOME");
1001 
1002     /**
1003      * 'andromda_seam_component_startup_depends'
1004      * named components must be started first, if they are installed.
1005      */
1006     public static final String TAGGEDVALUE_SEAM_COMPONENT_STARTUP_DEPENDS =
1007         profile.get("SEAM_COMPONENT_STARTUP_DEPENDS");
1008 
1009     /**
1010      * 'andromda_seam_component_synchronized_timeout'
1011      * Specifies that a component is accessed concurrently by multiple
1012      * clients, and that Seam should serialize requests. If a request is
1013      * not able to obtain its lock on the component in the given timeout
1014      * period, an exception will be raised.
1015      */
1016     public static final String TAGGEDVALUE_SEAM_COMPONENT_SYNCHRONIZED_TIMEOUT =
1017         profile.get("SEAM_COMPONENT_SYNCHRONIZED_TIMEOUT");
1018 
1019     /**
1020      * 'andromda_seam_component_readonly'
1021      * Specifies that a JavaBean component or component method does not
1022      * require state replication at the end of the invocation.
1023      */
1024     public static final String TAGGEDVALUE_SEAM_COMPONENT_READONLY =
1025         profile.get("SEAM_COMPONENT_READONLY");
1026 
1027     /**
1028      * 'andromda_seam_bijection_in_create'
1029      * Specifies that Seam should instantiate the component with the same
1030      * name as the context variable if the context variable is undefined
1031      * (null) in all contexts. Default to false.
1032      */
1033     public static final String TAGGEDVALUE_SEAM_BIJECTION_IN_CREATE =
1034         profile.get("SEAM_BIJECTION_IN_CREATE");
1035 
1036     /**
1037      * 'andromda_seam_bijection_in_value'
1038      * Specifies the name of the context variable. Default to the name of
1039      * the component attribute. Alternatively, specifies a JSF EL
1040      * expression, surrounded by #{...}.
1041      */
1042     public static final String TAGGEDVALUE_SEAM_BIJECTION_IN_VALUE =
1043         profile.get("SEAM_BIJECTION_IN_VALUE");
1044 
1045     /**
1046      * 'andromda_seam_bijection_out_value'
1047      * Specifies the name of the context variable explicitly, instead of
1048      * using the annotated instance variable name.
1049      */
1050     public static final String TAGGEDVALUE_SEAM_BIJECTION_OUT_VALUE =
1051         profile.get("SEAM_BIJECTION_OUT_VALUE");
1052 
1053     /**
1054      * 'andromda_seam_bijection_out_scope'
1055      * Specifies that a component attribute that is not a Seam component
1056      * type is to be outjected to a specific scope at the end of the
1057      * invocation.
1058      *
1059      * Alternatively, if no scope is explicitly specified, the scope of
1060      * the component with the @Out attribute is used (or the EVENT scope
1061      * if the component is stateless).
1062      */
1063     public static final String TAGGEDVALUE_SEAM_BIJECTION_OUT_SCOPE_TYPE =
1064         profile.get("SEAM_BIJECTION_OUT_SCOPE_TYPE");
1065 
1066     /**
1067      * 'andromda_seam_bijection_factory_value'
1068      * Specifies the name of the context variable. If the method is a
1069      * getter method, default to the JavaBeans property name.
1070      */
1071     public static final String TAGGEDVALUE_SEAM_BIJECTION_FACTORY_VALUE =
1072         profile.get("SEAM_BIJECTION_FACTORY_VALUE");
1073 
1074     /**
1075      * 'andromda_seam_bijection_factory_scope'
1076      * Specifies the scope that Seam should bind the returned value to.
1077      * Only meaningful for factory methods which return a value.
1078      */
1079     public static final String TAGGEDVALUE_SEAM_BIJECTION_FACTORY_SCOPE_TYPE =
1080         profile.get("SEAM_BIJECTION_FACTORY_SCOPE_TYPE");
1081 
1082     /**
1083      * 'andromda_seam_bijection_logger_value'
1084      * Specifies the name of the log category. Default to the name of the
1085      * component class.
1086      */
1087     public static final String TAGGEDVALUE_SEAM_BIJECTION_LOGGER_VALUE =
1088         profile.get("SEAM_BIJECTION_LOGGER_VALUE");
1089 
1090     /**
1091      * 'andromda_seam_bijection_requestparameter_value'
1092      * Specifies the name of the request parameter. Default to the name
1093      * of the component attribute.
1094      */
1095     public static final String TAGGEDVALUE_SEAM_BIJECTION_REQUEST_PARAMETER_VALUE =
1096         profile.get("SEAM_BIJECTION_REQUEST_PARAMETER_VALUE");
1097 
1098     /**
1099      * 'andromda_seam_lifecycle_observer_event'
1100      * Specifies that the method should be called when a component-driven
1101      * event of the specified type occurs.
1102      */
1103     public static final String TAGGEDVALUE_SEAM_LIFECYCLE_OBSERVER_EVENT =
1104         profile.get("SEAM_LIFECYCLE_OBSERVER_EVENT");
1105 
1106     /**
1107      * 'andromda_seam_conversation_begin_ifoutcome'
1108      * Specifies that a long-running conversation begins when this action
1109      * listener method returns with one of the given outcomes.
1110      *
1111      * Example: @Begin(ifOutcome={"success", "continue"})
1112      */
1113     public static final String TAGGEDVALUE_SEAM_CONVERSATION_BEGIN_IF_OUTCOME =
1114         profile.get("SEAM_CONVERSATION_BEGIN_IF_OUTCOME");
1115 
1116     /**
1117      * 'andromda_seam_conversation_begin_join'
1118      * Specifies that if a long-running conversation is already in
1119      * progress, the conversation context is simply propagated.
1120      */
1121     public static final String TAGGEDVALUE_SEAM_CONVERSATION_BEGIN_JOIN =
1122         profile.get("SEAM_CONVERSATION_BEGIN_JOIN");
1123 
1124     /**
1125      * 'andromda_seam_conversation_begin_nested'
1126      * Specifies that if a long-running conversation is already in
1127      * progress, a new nested conversation context begins. The nested
1128      * conversation will end when the next @End  is encountered, and the
1129      * outer conversation will resume. It is perfectly legal for multiple
1130      * nested conversations to exist concurrently in the same outer
1131      * conversation.
1132      */
1133     public static final String TAGGEDVALUE_SEAM_CONVERSATION_BEGIN_NESTED =
1134         profile.get("SEAM_CONVERSATION_BEGIN_NESTED");
1135 
1136     /**
1137      * 'andromda_seam_conversation_begin_flushmode'
1138      * Specify the flush mode of any Seam-managed persistence contexts.
1139      * flushMode=FlushModeType.MANUAL supports the use of atomic
1140      * conversations where all write operations are queued in the
1141      * conversation context until an explicit call to flush() (which
1142      * usually occurs at the end of the conversation).
1143      */
1144     public static final String TAGGEDVALUE_SEAM_CONVERSATION_BEGIN_FLUSH_MODE =
1145         profile.get("SEAM_CONVERSATION_BEGIN_FLUSH_MODE");
1146 
1147     /**
1148      * 'andromda_seam_conversation_begin_pageflow'
1149      * Specifies a jBPM process definition name that defines the pageflow
1150      * for this conversation.
1151      */
1152     public static final String TAGGEDVALUE_SEAM_CONVERSATION_BEGIN_PAGEFLOW =
1153         profile.get("SEAM_CONVERSATION_BEGIN_PAGEFLOW");
1154 
1155     /**
1156      * 'andromda_seam_conversation_end_ifoutcome'
1157      * Specifies that a long-running conversation ends when this action
1158      * listener method returns with one of the given outcomes.
1159      */
1160     public static final String TAGGEDVALUE_SEAM_CONVERSATION_END_IF_OUTCOME =
1161         profile.get("SEAM_CONVERSATION_END_IF_OUTCOME");
1162 
1163     /**
1164      * 'andromda_seam_conversation_end_beforeredirect'
1165      * By default, the conversation will not actually be destroyed until
1166      * after any redirect has occurred. Setting beforeRedirect=true
1167      * specifies that the conversation should be destroyed at the end of
1168      * the current request, and that the redirect will be processed in a
1169      * new temporary conversation context.
1170      */
1171     public static final String TAGGEDVALUE_SEAM_CONVERSATION_END_BEFORE_REDIRECT =
1172         profile.get("SEAM_CONVERSATION_END_BEFORE_REDIRECT");
1173 
1174     /**
1175      * 'andromda_seam_conversation_end_evenifexception'
1176      * Specifies that a long-running conversation ends when this action
1177      * listener method throws one of the specified classes of exception.
1178      */
1179     public static final String TAGGEDVALUE_SEAM_CONVERSATION_END_EVEN_IF_EXCEPTION =
1180         profile.get("SEAM_CONVERSATION_END_EVEN_IF_EXCEPTION");
1181 
1182     /**
1183      * 'andromda_seam_conversation_begintask_taskidparameter'
1184      * The name of a request parameter which holds the id of the task.
1185      * Default to "taskId", which is also the default used by the Seam
1186      * taskList JSF component.
1187      */
1188     public static final String TAGGEDVALUE_SEAM_CONVERSATION_START_TASK_ID_PARAMETER =
1189         profile.get("SEAM_CONVERSATION_START_TASK_ID_PARAMETER");
1190 
1191     /**
1192      * 'andromda_seam_conversation_starttask_flushmode'
1193      * Set the flush mode of any Seam-managed Hibernate sessions or JPA
1194      * persistence contexts that are created during this conversation.
1195      */
1196     public static final String TAGGEDVALUE_SEAM_CONVERSATION_START_TASK_FLUSH_MODE =
1197         profile.get("SEAM_CONVERSATION_START_TASK_FLUSH_MODE");
1198 
1199     /**
1200      * 'andromda_seam_conversation_begintask_taskidparameter'
1201      * The name of a request parameter which holds the id of the task.
1202      * Default to "taskId", which is also the default used by the Seam
1203      * taskList JSF component.
1204      */
1205     public static final String TAGGEDVALUE_SEAM_CONVERSATION_BEGIN_TASK_ID_PARAMETER =
1206         profile.get("SEAM_CONVERSATION_BEGIN_TASK_ID_PARAMETER");
1207 
1208     /**
1209      * 'andromda_seam_conversation_begintask_flushmode'
1210      * Set the flush mode of any Seam-managed Hibernate sessions or JPA
1211      * persistence contexts that are created during this conversation.
1212      */
1213     public static final String TAGGEDVALUE_SEAM_CONVERSATION_BEGIN_TASK_FLUSH_MODE =
1214         profile.get("SEAM_CONVERSATION_BEGIN_TASK_FLUSH_MODE");
1215 
1216     /**
1217      * 'andromda_seam_conversation_endtask_transition_name'
1218      * Triggers the given jBPM transition.
1219      */
1220     public static final String TAGGEDVALUE_SEAM_CONVERSATION_END_TASK_TRANSITION_NAME =
1221         profile.get("SEAM_CONVERSATION_END_TASK_TRANSITION_NAME");
1222 
1223     /**
1224      * 'andromda_seam_conversation_endtask_ifoutcome'
1225      * Specifies the JSF outcome or outcomes that result in the end of
1226      * the task.
1227      */
1228     public static final String TAGGEDVALUE_SEAM_CONVERSATION_END_TASK_IF_OUTCOME =
1229         profile.get("SEAM_CONVERSATION_END_TASK_IF_OUTCOME");
1230 
1231     /**
1232      * 'andromda_seam_conversation_endtask_beforeredirect'
1233      * By default, the conversation will not actually be destroyed until
1234      * after any redirect has occurred. Setting beforeRedirect=true
1235      * specifies that the conversation should be destroyed at the end of
1236      * the current request, and that the redirect will be processed in a
1237      * new temporary conversation context.
1238      */
1239     public static final String TAGGEDVALUE_SEAM_CONVERSATION_END_TASK_BEFORE_REDIRECT =
1240         profile.get("SEAM_CONVERSATION_END_TASK_BEFORE_REDIRECT");
1241 
1242     /**
1243      * 'andromda_seam_conversation_createprocess_definition'
1244      * The name of the jBPM process definition deployed via
1245      * org.jboss.seam.core.jbpm.processDefinitions.
1246      */
1247     public static final String TAGGEDVALUE_SEAM_CONVERSATION_CREATE_PROCESS_DEFINITION =
1248         profile.get("SEAM_CONVERSATION_CREATE_PROCESS_DEFINITION");
1249 
1250     /**
1251      * 'andromda_seam_conversation_resumeprocess_processIdParameter'
1252      * The name a request parameter holding the process id. Default to
1253      * "processId".
1254      */
1255     public static final String TAGGEDVALUE_SEAM_CONVERSATION_RESUME_PROCESS_PROCESS_ID_PARAMETER =
1256         profile.get("SEAM_CONVERSATION_RESUME_PROCESS_PROCESS_ID_PARAMETER");
1257 
1258     /**
1259      * 'andromda_seam_transaction_rollback_ifoutcome'
1260      * The JSF outcomes that cause a transaction rollback (no outcomes is
1261      * interpreted to mean any outcome).
1262      */
1263     public static final String TAGGEDVALUE_SEAM_TRANSACTION_ROLLBACK_IF_OUTCOME =
1264         profile.get("SEAM_TRANSACTION_ROLLBACK_IF_OUTCOME");
1265 
1266     /**
1267      * 'andromda_seam_validation_outcome'
1268      * Returns the JSF outcome when validation fails.
1269      */
1270     public static final String TAGGEDVALUE_SEAM_VALIDATION_OUTCOME =
1271         profile.get("SEAM_VALIDATION_OUTCOME");
1272 
1273     /**
1274      * 'andromda_seam_validation_refreshEntities'
1275      * Specifies whether invalid entities in the managed state
1276      * should be refreshed from the database when validation fails.
1277      */
1278     public static final String TAGGEDVALUE_SEAM_VALIDATION_REFRESH_ENTITIES =
1279         profile.get("SEAM_VALIDATION_REFRESH_ENTITIES");
1280 
1281     /**
1282      * 'andromda_seam_webremote_exclude'
1283      * Excludes objects from the WebRemote call result's object graph
1284      * (see the Remoting chapter in Seam doc for more details).
1285      */
1286     public static final String TAGGEDVALUE_SEAM_WEBREMOTE_EXCLUDE =
1287         profile.get("SEAM_WEBREMOTE_EXCLUDE");
1288 
1289     /**
1290      * 'andromda_seam_interceptor_stateless'
1291      * Specifies that this interceptor is stateless and Seam may optimize
1292      * replication.
1293      */
1294     public static final String TAGGEDVALUE_SEAM_INTERCEPTOR_STATELESS =
1295         profile.get("SEAM_INTERCEPTOR_STATELESS");
1296 
1297     /**
1298      * 'andromda_seam_interceptor_type'
1299      * Specifies that this interceptor is a "client-side" interceptor
1300      * that is called before the EJB container.
1301      */
1302     public static final String TAGGEDVALUE_SEAM_INTERCEPTOR_TYPE =
1303         profile.get("SEAM_INTERCEPTOR_TYPE");
1304 
1305     /**
1306      * 'andromda_seam_interceptor_around'
1307      * Specifies that this interceptor is positioned higher in the stack
1308      * than the given interceptors.
1309      */
1310     public static final String TAGGEDVALUE_SEAM_INTERCEPTOR_AROUND =
1311         profile.get("SEAM_INTERCEPTOR_AROUND");
1312 
1313     /**
1314      * 'andromda_seam_interceptor_within'
1315      * Specifies that this interceptor is positioned deeper in the stack
1316      * than the given interceptors.
1317      */
1318     public static final String TAGGEDVALUE_SEAM_INTERCEPTOR_WITHIN =
1319         profile.get("SEAM_INTERCEPTOR_WITHIN");
1320 
1321     /**
1322      * 'andromda_seam_data_datamodel_value'
1323      * Name of the conversation context variable. Default to the attribute name.
1324      */
1325     public static final String TAGGEDVALUE_SEAM_DATA_DATAMODEL_VALUE =
1326         profile.get("SEAM_DATA_DATAMODEL_VALUE");
1327 
1328     /**
1329      * 'andromda_seam_data_datamodel_scope'
1330      * If scope=ScopeType.PAGE is explicitly specified, the DataModel will
1331      * be kept in the PAGE context.
1332      */
1333     public static final String TAGGEDVALUE_SEAM_DATA_DATAMODEL_SCOPE_TYPE =
1334         profile.get("SEAM_DATA_DATAMODEL_SCOPE_TYPE");
1335 
1336     /**
1337      * 'andromda_seam_data_datamodelselection_value'
1338      * Name of the conversation context variable. Not needed if there is
1339      * exactly one @DataModel in the component.
1340      */
1341     public static final String TAGGEDVALUE_SEAM_DATA_DATAMODEL_SELECTION_VALUE =
1342         profile.get("SEAM_DATA_DATAMODEL_SELECTION_VALUE");
1343 
1344     /**
1345      * 'andromda_seam_data_datamodelselectionindex_value'
1346      * Name of the conversation context variable. Not needed if there is
1347      * exactly one @DataModel in the component.
1348      */
1349     public static final String TAGGEDVALUE_SEAM_DATA_DATAMODEL_SELECTION_INDEX_VALUE =
1350         profile.get("SEAM_DATA_DATAMODEL_SELECTION_INDEX_VALUE");
1351 
1352     /**
1353      * 'andromda_seam_data_databinderclass'
1354      * This meta-annotation make it possible to implement similar
1355      * functionality to @DataModel and @DataModelSelection for other
1356      * data structures apart from lists.
1357      *
1358      * The class name of the DataModelBinder class
1359      */
1360     public static final String TAGGEDVALUE_SEAM_DATA_DATABINDER_CLASS =
1361         profile.get("SEAM_DATA_DATABINDER_CLASS");
1362 
1363     /**
1364      * 'andromda_seam_data_dataselectorclass'
1365      * This meta-annotation make it possible to implement similar
1366      * functionality to @DataModel and @DataModelSelection for other
1367      * datastructures apart from lists.
1368      *
1369      * The DataModelSelector class.
1370      */
1371     public static final String TAGGEDVALUE_SEAM_DATA_DATASELECTOR_CLASS =
1372         profile.get("SEAM_DATA_DATASELECTOR_CLASS");
1373 }