1 12 package org.displaytag.properties; 13 14 import java.util.ArrayList ; 15 import java.util.Iterator ; 16 import java.util.List ; 17 18 import org.apache.commons.lang.builder.HashCodeBuilder; 19 20 21 26 public final class MediaTypeEnum 27 { 28 29 32 private static final List ALL = new ArrayList (); 33 34 37 public static final MediaTypeEnum HTML = new MediaTypeEnum(0, "html"); 39 42 public static final MediaTypeEnum CSV = new MediaTypeEnum(1, "csv"); 44 47 public static final MediaTypeEnum EXCEL = new MediaTypeEnum(2, "excel"); 49 52 public static final MediaTypeEnum XML = new MediaTypeEnum(3, "xml"); 54 57 private final int enumCode; 58 59 62 private final String enumName; 63 64 69 private MediaTypeEnum(int code, String name) 70 { 71 this.enumCode = code; 72 this.enumName = name; 73 ALL.add(this); 74 } 75 76 80 public int getCode() 81 { 82 return this.enumCode; 83 } 84 85 89 public String getName() 90 { 91 return this.enumName; 92 } 93 94 99 public static MediaTypeEnum fromCode(int key) 100 { 101 for (int i = 0; i < ALL.size(); i++) 103 { 104 if (key == ((MediaTypeEnum) ALL.get(i)).getCode()) 105 { 106 return (MediaTypeEnum) ALL.get(i); 107 } 108 } 109 return null; 111 } 112 113 118 public static MediaTypeEnum fromCode(Integer key) 119 { 120 if (key == null) 121 { 122 return null; 123 } 124 125 return fromCode(key.intValue()); 126 } 127 128 134 public static MediaTypeEnum fromIntegerCode(Integer key) 135 { 136 return fromCode(key); 137 } 138 139 144 public static MediaTypeEnum fromName(String code) 145 { 146 for (int i = 0; i < ALL.size(); i++) 148 { 149 if (((MediaTypeEnum) ALL.get(i)).getName().equals(code)) 150 { 151 return ((MediaTypeEnum) ALL.get(i)); 152 } 153 } 154 return null; 156 } 157 158 162 public static Iterator iterator() 163 { 164 return ALL.iterator(); 165 } 166 167 173 public static synchronized MediaTypeEnum registerMediaType(String name) 174 { 175 MediaTypeEnum existing = fromName(name); 176 if (existing == null) 177 { 178 existing = new MediaTypeEnum(ALL.size() + 1, name); 179 } 180 return existing; 181 } 182 183 187 public static int getSize() 188 { 189 return ALL.size(); 190 } 191 192 196 public String toString() 197 { 198 return getName(); 199 } 200 201 206 public boolean equals(Object o) 207 { 208 if (this == o) 209 { 210 return true; 211 } 212 213 return false; 214 } 215 216 219 public int hashCode() 220 { 221 return new HashCodeBuilder(1188997057, -1289297553).append(this.enumCode).toHashCode(); 222 } 223 224 } | Popular Tags |