1 // license-header java merge-point
2 //
3 // Attention: generated code (by Metafacade.vsl) - do not modify!
4 //
5 package org.andromda.metafacades.uml;
6
7 import java.util.Collection;
8
9 /**
10 * Represents an enumeration. A data type whose values are enumerated in the model as enumeration
11 * literals. May also be a Classifier with Stereotype Enumeration.
12 *
13 * Metafacade interface to be used by AndroMDA cartridges.
14 */
15 public interface EnumerationFacade
16 extends ClassifierFacade
17 {
18 /**
19 * Indicates the metafacade type (used for metafacade mappings).
20 *
21 * @return boolean always <code>true</code>
22 */
23 public boolean isEnumerationFacadeMetaType();
24
25 /**
26 * The 'from' operation name. This is the name of the operation that takes the actual literal
27 * value and allows a new enumeration to be constructed.
28 * @return String
29 */
30 public String getFromOperationName();
31
32 /**
33 * The 'from' operation signature. This is the signature that takes the actual literal value
34 * and allows a new enumeration to be constructed.
35 * @return String
36 */
37 public String getFromOperationSignature();
38
39 /**
40 * The type of the enumeration's literals.
41 * @return ClassifierFacade
42 */
43 public ClassifierFacade getLiteralType();
44
45 /**
46 * This enumeration's literals.
47 * @return Collection<AttributeFacade>
48 */
49 public Collection<AttributeFacade> getLiterals();
50
51 /**
52 * The enumeration member variables.
53 * @return Collection<AttributeFacade>
54 */
55 public Collection<AttributeFacade> getMemberVariables();
56
57 /**
58 * Indicates whether the enumeration must be generated using a Java 5 type-safe enum or a
59 * traditional enumeration-pattern class.
60 * @return boolean
61 */
62 public boolean isTypeSafe();
63 }