SAP NetWeaver '04

com.sap.netweaver.bc.rf.util.enum
Class Enum

[contained in: com.sap.netweaver.bc.rf.par - bc.rf.util_api.jar]
java.lang.Object
  |
  +--com.sap.netweaver.bc.rf.util.flyweight.FlyWeight
        |
        +--com.sap.netweaver.bc.rf.util.enum.Enum
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable, java.io.Serializable
Direct Known Subclasses:
EnumWithDescription

public abstract class Enum
extends FlyWeight
implements java.lang.Cloneable, java.lang.Comparable, java.io.Serializable

Abstract class implementing a type-safe enumeration. You have to extend this class, add your public final static enumeration members and implement an appropriate private constructor:

 public class Status extends Enum
 {
     public final static Status SUCCESS = new Status( 1 );
     public final static Status FAILURE = new Status( 2 );

     private A( final int id )
     {
         super( id );
     }
 }
 

See Also:
Serialized Form

Constructor Summary
protected Enum(int id, boolean ignoreDuplicateRegistration)
          Construct instance of an enumeration.
 
Method Summary
 java.lang.Object clone()
          Clone this enumeration.
 int compareTo(java.lang.Object obj)
          Compare this and another object for order.
 boolean equals(java.lang.Object obj)
          Compare this and another object for equality.
static java.util.List getAllEnums(java.lang.Class enumClass)
          Get all so far registered enumeration instances of the given enumeration class.
static java.util.List getAllEnumsInherited(java.lang.Class enumClass)
          Get all so far registered enumeration instances of the given enumeration class and all sub classes of that class.
static Enum getEnum(java.lang.Class enumClass, int id)
          Get enumeration instance by id of the given enumeration class.
 int getEnumId()
          Get id of the enumeration instance.
static Enum getEnumInherited(java.lang.Class enumClass, int id)
          Get enumeration instance by id of the given enumeration class and all sub classes of that class.
 int hashCode()
          Get hashcode for this enumeration instance.
 java.lang.String toString()
          Get descriptive text for this enumeration instance.
 
Methods inherited from class com.sap.netweaver.bc.rf.util.flyweight.FlyWeight
getAllFlyWeights, getAllFlyWeightsInherited, getFlyWeight, getFlyWeightId, getFlyWeightInherited, removeAllFlyWeights, removeAllFlyWeightsInherited, removeFlyWeight, removeFlyWeightInherited
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Enum

protected Enum(int id,
               boolean ignoreDuplicateRegistration)
Construct instance of an enumeration.
Parameters:
id - enumeration id
ignoreDuplicateRegistration - when true, don't throw IllegalArgumentException exception when the id is already in use
Method Detail

getEnumId

public final int getEnumId()
Get id of the enumeration instance.
Returns:
enumeration id

toString

public java.lang.String toString()
Get descriptive text for this enumeration instance.
Overrides:
toString in class FlyWeight
Returns:
descriptive text for this enumeration instance

hashCode

public final int hashCode()
Get hashcode for this enumeration instance.
Overrides:
hashCode in class FlyWeight
Returns:
enumeration hashcode

equals

public final boolean equals(java.lang.Object obj)
Compare this and another object for equality. Works only fine when handling objects of classes loaded by same class classloader.
Overrides:
equals in class FlyWeight
Parameters:
obj - object to be compared against
Returns:
result of comparison

clone

public final java.lang.Object clone()
Clone this enumeration. The clone method will always return the same instance for faster equality comparison. This is not harmful, since the enumeration is immutable.
Overrides:
clone in class FlyWeight
Returns:
this enumeration instance

compareTo

public final int compareTo(java.lang.Object obj)
Compare this and another object for order.
Specified by:
compareTo in interface java.lang.Comparable
Parameters:
obj - object to be compared against
Returns:
result of comparison

getEnum

public static final Enum getEnum(java.lang.Class enumClass,
                                 int id)
Get enumeration instance by id of the given enumeration class.
Parameters:
enumClass - enumeration class
id - enumeration id
Returns:
enumeration instance

getEnumInherited

public static final Enum getEnumInherited(java.lang.Class enumClass,
                                          int id)
Get enumeration instance by id of the given enumeration class and all sub classes of that class. If, follwoing the inheritance, multiple enumerations have the same id, the first found (behaviour is not deterministic) will be returned.
Parameters:
enumClass - enumeration class
id - enumeration id
Returns:
enumeration instance

getAllEnums

public static java.util.List getAllEnums(java.lang.Class enumClass)
Get all so far registered enumeration instances of the given enumeration class. Note that only the so far registered instances can be returned. When for example some instances haven't been registered, because their class wasn't loaded, these instances won't be returned.
Parameters:
enumClass - enumeration class
Returns:
all so far registered enumeration instances of the given enumeration class

getAllEnumsInherited

public static java.util.List getAllEnumsInherited(java.lang.Class enumClass)
Get all so far registered enumeration instances of the given enumeration class and all sub classes of that class. Note that only the so far registered instances can be returned. When for example some instances haven't been registered, because their class wasn't loaded, these instances won't be returned.
Parameters:
enumClass - enumeration class
Returns:
all so far registered enumeration instances of the given enumeration class and all sub classes of that class

SAP NetWeaver '04

Copyright © 2004 by SAP AG. All Rights Reserved.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.