View Javadoc
1   package org.andromda.metafacades.uml;
2   
3   /**
4    * Stores the metafacade namespace properties used throughout the UML metafacades.
5    *
6    * @author Chad Brandon
7    * @author Bob Fields
8    */
9   public class UMLMetafacadeProperties
10  {
11      /**
12       * Stores the property containing the URI to the language mappings file.
13       */
14      public static final String LANGUAGE_MAPPINGS_URI = "languageMappingsUri";
15  
16      /**
17       * This property controls whether or not to produce templating parameters
18       * where possible.
19       */
20      public static final String ENABLE_TEMPLATING = "enableTemplating";
21  
22      /**
23       * Stores the property defining the default schema name for entity tables.
24       */
25      public static final String SCHEMA_NAME = "schemaName";
26  
27      /**
28       * Stores the property defining the prefix for entity table names.
29       */
30      public static final String TABLE_NAME_PREFIX = "tableNamePrefix";
31  
32      /**
33       * Stores the property defining the prefix for entity table column names.
34       */
35      public static final String COLUMN_NAME_PREFIX = "columnNamePrefix";
36  
37      /**
38       * Stores the property defining the suffix for entity table column names.
39       */
40      public static final String COLUMN_NAME_SUFFIX = "columnNameSuffix";
41  
42      /**
43       * Stores the property containing the URI to the SQL mappings file.
44       */
45      public static final String SQL_MAPPINGS_URI = "sqlMappingsUri";
46  
47      /**
48       * Stores the property containing the URI to the JDBC mappings file.
49       */
50      public static final String JDBC_MAPPINGS_URI = "jdbcMappingsUri";
51  
52      /**
53       * Stores the property containing the URI to the Wrapper mappings file.
54       */
55      public static final String WRAPPER_MAPPINGS_URI = "wrapperMappingsUri";
56  
57      /**
58       * Allows the pluralization of association end names (when the multiplicity is greater than one) to be turned
59       * on/off.
60       */
61      public static final String PLURALIZE_ASSOCIATION_END_NAMES = "pluralizeAssociationEndNames";
62  
63      /**
64       * Allows the pluralization of operation parameter names (when the multiplicity is greater than one) to be turned
65       * on/off.
66       */
67      public static final String PLURALIZE_ATTRIBUTE_NAMES = "pluralizeAttributeNames";
68  
69      /**
70       * Allows the pluralization of attribute names (when the multiplicity is greater than one) to be turned
71       * on/off.
72       */
73      public static final String PLURALIZE_PARAMETER_NAMES = "pluralizeParameterNames";
74  
75      /**
76       * The default suffix to use for foreign keys.
77       */
78      public static final String FOREIGN_KEY_SUFFIX = "foreignKeySuffix";
79  
80      /**
81       * The default suffix to use for foreign keys.
82       */
83      public static final String CONSTRAINT_SUFFIX = "constraintSuffix";
84  
85      /**
86       * The mask to apply to role names
87       * @see NameMasker#mask(String, String)
88       */
89      public static final String ROLE_NAME_MASK = "roleNameMask";
90  
91      /**
92       * The mask to apply to any model element names
93       * @see NameMasker#mask(String, String)
94       */
95      public static final String MODEL_ELEMENT_NAME_MASK = "modelElementNameMask";
96      
97      /**
98       * The mask to apply to any classifier names
99       * @see NameMasker#mask(String, String)
100      */
101     public static final String CLASSIFIER_NAME_MASK = "classifierNameMask";
102 
103     /**
104      * The mask to apply to any of the classifier property names
105      * @see NameMasker#mask(String, String)
106      */
107     public static final String CLASSIFIER_PROPERTY_NAME_MASK = "classifierPropertyNameMask";
108 
109     /**
110      * The mask to apply to any operation names
111      * @see NameMasker#mask(String, String)
112      */
113     public static final String OPERATION_NAME_MASK = "operationNameMask";
114 
115     /**
116      * The mask to apply to any parameter names
117      * @see NameMasker#mask(String, String)
118      */
119     public static final String PARAMETER_NAME_MASK = "parameterNameMask";
120 
121     /**
122      * The mask to apply to enumeration literal names
123      * @see NameMasker#mask(String, String)
124      */
125     public static final String ENUMERATION_LITERAL_NAME_MASK = "enumerationLiteralNameMask";
126 
127     /**
128      * The mask to apply to the enumeration literal name
129      * @see NameMasker#mask(String, String)
130      */
131     public static final String ENUMERATION_NAME_MASK = "enumerationNameMask";
132 
133     /**
134      * The mask to apply to the entity name
135      * @see NameMasker#mask(String, String)
136      */
137     public static final String ENTITY_NAME_MASK = "entityNameMask";
138 
139     /**
140      * The mask to apply to the entity property (attributes and association) names
141      * @see NameMasker#mask(String, String)
142      */
143     public static final String ENTITY_PROPERTY_NAME_MASK = "entityPropertyNameMask";
144 
145     /**
146      * The maximum length a SQL name can be before its truncated.
147      */
148     public static final String MAX_SQL_NAME_LENGTH = "maxSqlNameLength";
149 
150     /**
151      * The method to be used to ensure name length. 
152      * Supported values: truncate or removeVowels. Default = truncate
153      */
154     public static final String SHORTEN_SQL_NAMES_METHOD = "shortenSqlNamesMethod";
155     public static final String SHORTEN_SQL_NAMES_METHOD_TRUNCATE = "truncate";
156     public static final String SHORTEN_SQL_NAMES_METHOD_REMOVE_VOWELS = "removeVowels";
157 
158     /**
159      * Whether or not to allow default identifiers for modeled entities.
160      */
161     public static final String ALLOW_DEFAULT_IDENTITIFIERS = "allowDefaultIdentifiers";
162 
163     /**
164      * The pattern used to construct the name entity default identifiers (if enabled).
165      */
166     public static final String DEFAULT_IDENTIFIER_PATTERN = "defaultIdentifierPattern";
167 
168     /**
169      * The type to given default identifiers.
170      */
171     public static final String DEFAULT_IDENTIFIER_TYPE = "defaultIdentifierType";
172 
173     /**
174      * The visibility to apply to default identifiers.
175      */
176     public static final String DEFAULT_IDENTIFIER_VISIBILITY = "defaultIdentifierVisibility";
177 
178     /**
179      * The suffix to add to the composite identifier type name.
180      */
181     public static final String COMPOSITE_IDENTIFIER_TYPE_NAME_SUFIX = "compositeIdentifierTypeNameSuffix";
182 
183     /**
184      * The suffix to add to the composite identifier name.
185      */
186     public static final String COMPOSITE_IDENTIFIER_NAME_SUFIX = "compositeIdentifierNameSuffix";
187 
188     /**
189      * Are manageable tables resolved by default when referenced ?
190      */
191     public static final String PROPERTY_DEFAULT_RESOLVEABLE = "defaultResolveable";
192 
193     /**
194      * Stores the default upper limit for lists.
195      */
196     public static final String PROPERTY_DEFAULT_MAX_LIST_SIZE = "defaultMaximumListSize";
197 
198     /**
199      * Stores the default number of records shown per page.
200      */
201     public static final String PROPERTY_DEFAULT_PAGE_SIZE = "defaultPageSize";
202 
203     /**
204      * The separator used for packages and element names when constructing fully qualified names.
205      */
206     public static final String NAMESPACE_SEPARATOR = "namespaceSeparator";
207 
208     /**
209      * The name given to model elements without a name.
210      */
211     public static final String UNDEFINED_NAME = "undefinedName";
212 
213     /**
214      * Stores the suffix given to array type names.
215      */
216     public static final String ARRAY_NAME_SUFFIX = "arrayNameSuffix";
217 
218     /**
219      * Whether or not to enable manageable entities for the currently running cartridge.
220      */
221     public static final String ENABLE_MANAGEABLE_ENTITIES = "enableManageableEntities";
222 
223     /**
224      * The namespace property used to denote the name of the subpackage create for
225      * manageable entities.
226      */
227     public static final String MANAGEABLE_PACKAGE_NAME_SUFFIX = "manageablePackageSuffix";
228 
229     /**
230      * Stores the boolean flag indicating whether or not we should use arrays instead of collections with associations
231      * of type many (where appropriate).
232      */
233     public static final String USE_ARRAYS_FOR_MULTIPLICITIES_OF_TYPE_MANY = "useArraysForMultiplicitiesOfTypeMany";
234 
235     /**
236      * The separator for relation names between associations.
237      */
238     public static final String RELATION_NAME_SEPARATOR = "relationNameSeparator";
239 
240     /**
241      * The separator to use when constructing SQL names.
242      */
243     public static final String SQL_NAME_SEPARATOR = "sqlNameSeparator";
244 
245     /**
246      * The pattern used for constructing operations that handle precondition constraints.
247      */
248     public static final String PRECONDITION_NAME_PATTERN = "preconditionNamePattern";
249 
250     /**
251      * The pattern used for constructing operations that handle postcondition constraints.
252      */
253     public static final String POSTCONDITION_NAME_PATTERN = "postconditionNamePattern";
254 
255     /**
256      * The namespace property used to identify the pattern used to construct the backend CRUD service's accessor.
257      */
258     public static final String MANAGEABLE_SERVICE_ACCESSOR_PATTERN = "manageableServiceAccessorPattern";
259 
260     /**
261      * The namespace property used to define the default multiplicity of
262      * an attribute or association end (when one isn't modeled).
263      */
264     public static final String DEFAULT_MULTIPLICITY = "defaultMultiplicity";
265 
266     /**
267      * Denotes whether or not the id needs to be displayed when managing an entity, or whether this
268      * should be transparent for the user.
269      */
270     public static final String MANAGEABLE_ID_DISPLAY_STRATEGY = "manageableIdDisplayStrategy";
271 
272     /**
273      * Indicates whether enumerations must be generated using a Java 5 type-safe enum or a
274      * traditional enumeration-pattern class.
275      */
276     public static final String TYPE_SAFE_ENUMS_ENABLED = "typeSafeEnumsEnabled";
277 
278     /**
279      * Value indicating work to do in source code. Default=TODO
280      */
281     public static final String TODO_TAG = "toDoTag";
282 
283     /**
284      * Value indicating missing documentation in model elements. Default=false, do not insert todo tags.
285      */
286     public static final String TODO_FOR_MISSING_DOCUMENTATION = "toDoForMissingDocumentation";
287 }