001/* 002 * #%L 003 * SIH-Adagio 004 * $Id: javaMergeMappings.xml 12002 2014-03-26 10:17:22Z bl05b3e $ 005 * $HeadURL: https://forge.ifremer.fr/svn/sih-adagio/tags/adagio-3.5.6/mda/src/main/config/javaMergeMappings.xml $ 006 * %% 007 * Copyright (C) 2012 - 2013 Ifremer 008 * %% 009 * This program is free software: you can redistribute it and/or modify 010 * it under the terms of the GNU Affero General Public License as published by 011 * the Free Software Foundation, either version 3 of the License, or 012 * (at your option) any later version. 013 * 014 * This program is distributed in the hope that it will be useful, 015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 017 * GNU General Public License for more details. 018 * 019 * You should have received a copy of the GNU Affero General Public License 020 * along with this program. If not, see <http://www.gnu.org/licenses/>. 021 * #L% 022 */ 023// 024// Attention: Generated code! Do not modify by hand! 025// Generated by: TypeSafeEnumeration.vsl in andromda-java-cartridge. 026// Model Class: Data::fr.ifremer.adagio.core.dao::referential::StatusCode 027// Metafacade: org.andromda.metafacades.uml.Enumeration 028// Stereotype: Enumeration 029// 030package fr.ifremer.adagio.core.dao.referential; 031 032import fr.ifremer.adagio.core.dao.technical.AdagioEnumerationDef; 033import java.io.Serializable; 034import java.util.ArrayList; 035import java.util.Collections; 036import java.util.LinkedHashMap; 037import java.util.List; 038import java.util.Map; 039import static org.nuiton.i18n.I18n.n; 040 041/** 042 * 043 */ 044public enum StatusCode 045 implements Serializable, AdagioEnumerationDef<String> 046{ 047 /** TODO: Model Documentation for Enumeration Literal DISABLE value "0" */ 048 DISABLE ( 049 "adagio.enumeration.StatusCode.DISABLE", 050 n("adagio.enumeration.StatusCode.DISABLE.description"), 051 "0"), 052 /** TODO: Model Documentation for Enumeration Literal ENABLE value "1" */ 053 ENABLE ( 054 "adagio.enumeration.StatusCode.ENABLE", 055 n("adagio.enumeration.StatusCode.ENABLE.description"), 056 "1"), 057 /** TODO: Model Documentation for Enumeration Literal TEMPORARY value "2" */ 058 TEMPORARY ( 059 "adagio.enumeration.StatusCode.TEMPORARY", 060 n("adagio.enumeration.StatusCode.TEMPORARY.description"), 061 "2"), 062 /** TODO: Model Documentation for Enumeration Literal DELETED value "3" */ 063 DELETED ( 064 "adagio.enumeration.StatusCode.DELETED", 065 n("adagio.enumeration.StatusCode.DELETED.description"), 066 "3"); 067 068 /** 069 * The serial version UID of this class. Needed for serialization. 070 */ 071 private static final long serialVersionUID = 7256676371393886838L; 072 073 private String key; 074 private String description; 075 private String enumValue; 076 077 private StatusCode(String key, String description, String value) 078 { 079 this.key = key; 080 this.description = description; 081 this.enumValue = value; 082 } 083 084 @Override 085 public void setValue(String newValue) { 086 if (newValue != null && !this.enumValue.equals(newValue)) { 087 // Update static lists 088 values.remove(this.enumValue); 089 literals.remove(this.enumValue); 090 this.enumValue = newValue; 091 values.put(this.enumValue, this); 092 literals.add(this.enumValue); 093 } 094 } 095 096 097 @Override 098 public String getValueAsString() 099 { 100 return String.valueOf(this.enumValue); 101 } 102 103 /** 104 * Retrieves an instance of StatusCode from <code>its name</code>. 105 * 106 * @param name the name to create the StatusCode from. 107 * @return The enumeration literal named after the 'name' argument 108 */ 109 public static StatusCode fromString(String name) 110 { 111 return StatusCode.valueOf(name); 112 } 113 114 /** 115 * Returns an enumeration literal String <code>value</code>. 116 * Required by JAXB2 enumeration implementation 117 * 118 * @return String with corresponding value 119 */ 120 public String value() 121 { 122 return this.enumValue; 123 } 124 125 /** 126 * Returns an instance of StatusCode from String <code>value</code>. 127 * Required by JAXB2 enumeration implementation 128 * 129 * @param value the value to create the StatusCode from. 130 * @return static Enumeration with corresponding value 131 */ 132 public static StatusCode fromValue(String value) 133 { 134 for (StatusCode enumName: StatusCode.values()) 135 { 136 if (enumName.getValue().equals(value)) 137 { 138 return enumName; 139 } 140 } 141 throw new IllegalArgumentException("StatusCode.fromValue(" + value + ')'); 142 } 143 144 /** 145 * Gets the underlying value of this type safe enumeration. 146 * This method is necessary to comply with DaoBase implementation. 147 * @return The name of this literal. 148 */ 149 public String getValue() 150 { 151 return this.enumValue; 152 } 153 154 @Override 155 public String getDescription() { 156 return description; 157 } 158 159 @Override 160 public String getKey() { 161 return key; 162 } 163 164 @Override 165 public Class<?> getType() { 166 return String.class; 167 } 168 169 /** 170 * Returns an unmodifiable list containing the literals that are known by this enumeration. 171 * 172 * @return A List containing the actual literals defined by this enumeration, this list 173 * can not be modified. 174 */ 175 public static List<String> literals() 176 { 177 return StatusCode.literals; 178 } 179 180 /** 181 * Returns an unmodifiable list containing the names of the literals that are known 182 * by this enumeration. 183 * 184 * @return A List containing the actual names of the literals defined by this 185 * enumeration, this list can not be modified. 186 */ 187 public static List<String> names() 188 { 189 return StatusCode.names; 190 } 191 192 private static Map<String, StatusCode> values = new LinkedHashMap<String, StatusCode>(4, 1); 193 private static List<String> literals = new ArrayList<String>(4); 194 private static List<String> names = new ArrayList<String>(4); 195 private static List<StatusCode> valueList = new ArrayList<StatusCode>(4); 196 197 /** 198 * Initializes the values. 199 */ 200 static 201 { 202 synchronized (StatusCode.values) 203 { 204 StatusCode.values.put(DISABLE.enumValue, DISABLE); 205 StatusCode.values.put(ENABLE.enumValue, ENABLE); 206 StatusCode.values.put(TEMPORARY.enumValue, TEMPORARY); 207 StatusCode.values.put(DELETED.enumValue, DELETED); 208 } 209 synchronized (StatusCode.valueList) 210 { 211 StatusCode.valueList.add(DISABLE); 212 StatusCode.valueList.add(ENABLE); 213 StatusCode.valueList.add(TEMPORARY); 214 StatusCode.valueList.add(DELETED); 215 // For Adagio, lists could be reload from configuration 216 //StatusCode.valueList = Collections.unmodifiableList(valueList); 217 } 218 synchronized (StatusCode.literals) 219 { 220 StatusCode.literals.add(DISABLE.enumValue); 221 StatusCode.literals.add(ENABLE.enumValue); 222 StatusCode.literals.add(TEMPORARY.enumValue); 223 StatusCode.literals.add(DELETED.enumValue); 224 // For Adagio, lists could be reload from configuration 225 //StatusCode.literals = Collections.unmodifiableList(literals); 226 } 227 synchronized (StatusCode.names) 228 { 229 StatusCode.names.add("DISABLE"); 230 StatusCode.names.add("ENABLE"); 231 StatusCode.names.add("TEMPORARY"); 232 StatusCode.names.add("DELETED"); 233 StatusCode.names = Collections.unmodifiableList(names); 234 } 235 } 236 // type-safe-enumeration-object java merge-point 237}