001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.metafacades.uml; 006 007import java.util.Collection; 008 009/** 010 * Represents an enumeration. A data type whose values are enumerated in the model as enumeration 011 * literals. May also be a Classifier with Stereotype Enumeration. 012 * 013 * Metafacade interface to be used by AndroMDA cartridges. 014 */ 015public interface EnumerationFacade 016 extends ClassifierFacade 017{ 018 /** 019 * Indicates the metafacade type (used for metafacade mappings). 020 * 021 * @return boolean always <code>true</code> 022 */ 023 public boolean isEnumerationFacadeMetaType(); 024 025 /** 026 * The 'from' operation name. This is the name of the operation that takes the actual literal 027 * value and allows a new enumeration to be constructed. 028 * @return String 029 */ 030 public String getFromOperationName(); 031 032 /** 033 * The 'from' operation signature. This is the signature that takes the actual literal value 034 * and allows a new enumeration to be constructed. 035 * @return String 036 */ 037 public String getFromOperationSignature(); 038 039 /** 040 * The type of the enumeration's literals. 041 * @return ClassifierFacade 042 */ 043 public ClassifierFacade getLiteralType(); 044 045 /** 046 * This enumeration's literals. 047 * @return Collection<AttributeFacade> 048 */ 049 public Collection<AttributeFacade> getLiterals(); 050 051 /** 052 * The enumeration member variables. 053 * @return Collection<AttributeFacade> 054 */ 055 public Collection<AttributeFacade> getMemberVariables(); 056 057 /** 058 * Indicates whether the enumeration must be generated using a Java 5 type-safe enum or a 059 * traditional enumeration-pattern class. 060 * @return boolean 061 */ 062 public boolean isTypeSafe(); 063}