Java Doc for ValuedEnum.java in  » Library » Apache-common-lang » org » apache » commons » lang » enums » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Library » Apache common lang » org.apache.commons.lang.enums 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.apache.commons.lang.enums.Enum
      org.apache.commons.lang.enums.ValuedEnum

All known Subclasses:   org.apache.commons.lang.enums.ValuedColorEnum,  org.apache.commons.lang.enums.ValuedLanguageEnum,
ValuedEnum
abstract public class ValuedEnum extends Enum (Code)

Abstract superclass for type-safe enums with integer values suitable for use in switch statements.

NOTE:Due to the way in which Java ClassLoaders work, comparing Enum objects should always be done using the equals() method, not ==. The equals() method will try == first so in most cases the effect is the same.

To use this class, it must be subclassed. For example:

 public final class JavaVersionEnum extends ValuedEnum {
 //standard enums for version of JVM
 public static final int  JAVA1_0_VALUE  = 100;
 public static final int  JAVA1_1_VALUE  = 110;
 public static final int  JAVA1_2_VALUE  = 120;
 public static final int  JAVA1_3_VALUE  = 130;
 public static final JavaVersionEnum  JAVA1_0  = new JavaVersionEnum( "Java 1.0", JAVA1_0_VALUE );
 public static final JavaVersionEnum  JAVA1_1  = new JavaVersionEnum( "Java 1.1", JAVA1_1_VALUE );
 public static final JavaVersionEnum  JAVA1_2  = new JavaVersionEnum( "Java 1.2", JAVA1_2_VALUE );
 public static final JavaVersionEnum  JAVA1_3  = new JavaVersionEnum( "Java 1.3", JAVA1_3_VALUE );
 private JavaVersionEnum(String name, int value) {
 super( name, value );
 }
 public static JavaVersionEnum getEnum(String javaVersion) {
 return (JavaVersionEnum) getEnum(JavaVersionEnum.class, javaVersion);
 }
 public static JavaVersionEnum getEnum(int javaVersion) {
 return (JavaVersionEnum) getEnum(JavaVersionEnum.class, javaVersion);
 }
 public static Map getEnumMap() {
 return getEnumMap(JavaVersionEnum.class);
 }
 public static List getEnumList() {
 return getEnumList(JavaVersionEnum.class);
 }
 public static Iterator iterator() {
 return iterator(JavaVersionEnum.class);
 }
 }
 

NOTE:These are declared final, so compilers may inline the code. Ensure you recompile everything when using final.

The above class could then be used as follows:

 public void doSomething(JavaVersionEnum ver) {
 switch (ver.getValue()) {
 case JAVA1_0_VALUE:
 // ...
 break;
 case JAVA1_1_VALUE:
 // ...
 break;
 //...
 }
 }
 

As shown, each enum has a name and a value. These can be accessed using getName and getValue.

NOTE: Because the switch is ultimately sitting on top of an int, the example above is not type-safe. That is, there is nothing that checks that JAVA1_0_VALUE is a legal constant for JavaVersionEnum.

The getEnum and iterator methods are recommended. Unfortunately, Java restrictions require these to be coded as shown in each subclass. An alternative choice is to use the EnumUtils class.


author:
   Apache Avalon project
author:
   Stephen Colebourne
since:
   2.1 (class existed in enum package from v1.0)
version:
   $Id: ValuedEnum.java 466275 2006-10-20 22:02:34Z bayard $



Constructor Summary
protected  ValuedEnum(String name, int value)
     Constructor for enum item.

Method Summary
public  intcompareTo(Object other)
    

Tests for order.

The default ordering is numeric by value, but this can be overridden by subclasses.

NOTE: From v2.2 the enums must be of the same type.

protected static  EnumgetEnum(Class enumClass, int value)
    
final public  intgetValue()
    
public  StringtoString()
    

Human readable description of this Enum item.

String in the form type[name=value], for example:JavaVersion[Java 1.0=100].


Constructor Detail
ValuedEnum
protected ValuedEnum(String name, int value)(Code)
Constructor for enum item.
Parameters:
  name - the name of enum item
Parameters:
  value - the value of enum item




Method Detail
compareTo
public int compareTo(Object other)(Code)

Tests for order.

The default ordering is numeric by value, but this can be overridden by subclasses.

NOTE: From v2.2 the enums must be of the same type. If the parameter is in a different class loader than this instance, reflection is used to compare the values.


See Also:   java.lang.Comparable.compareTo(Object)
Parameters:
  other - the other object to compare to -ve if this is less than the other object, +ve if greater than,0 of equal
throws:
  ClassCastException - if other is not an Enum
throws:
  NullPointerException - if other is null



getEnum
protected static Enum getEnum(Class enumClass, int value)(Code)

Gets an Enum object by class and value.

This method loops through the list of Enum, thus if there are many Enums this will be slow.


Parameters:
  enumClass - the class of the Enum to get
Parameters:
  value - the value of the Enum to get the enum object, or null if the enum does not exist
throws:
  IllegalArgumentException - if the enum class is null



getValue
final public int getValue()(Code)

Get value of enum item.

the enum item's value.



toString
public String toString()(Code)

Human readable description of this Enum item.

String in the form type[name=value], for example:JavaVersion[Java 1.0=100]. Note that the package name isstripped from the type name.



Fields inherited from org.apache.commons.lang.enums.Enum
protected transient String iToString(Code)(Java Doc)

Methods inherited from org.apache.commons.lang.enums.Enum
public int compareTo(Object other)(Code)(Java Doc)
final public boolean equals(Object other)(Code)(Java Doc)
protected static Enum getEnum(Class enumClass, String name)(Code)(Java Doc)
public Class getEnumClass()(Code)(Java Doc)
protected static List getEnumList(Class enumClass)(Code)(Java Doc)
protected static Map getEnumMap(Class enumClass)(Code)(Java Doc)
final public String getName()(Code)(Java Doc)
final public int hashCode()(Code)(Java Doc)
protected static Iterator iterator(Class enumClass)(Code)(Java Doc)
protected Object readResolve()(Code)(Java Doc)
public String toString()(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.