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 }