Show TOC Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Enumerations  Dokument im Navigationsbaum lokalisieren

Eine Enumeration ist eine Facette mit der Sie den Wertebereich eines einfachen Datentyps, eines Attributs beziehungsweise eines Elements auf eine vorgegebene Auswahl einschränken können (weitere Informationen: Datentypen im Enterprise Services Repository). Die Java-Proxy-Generierung generiert für den Zugriff auf die Werte eine Java-Klasse, die eine Typ- und Wertsichere Abbildung der Enumeration bietet, indem für jeden Wert Konstanten erzeugt werden und der Zugriff nur über Methoden erlaubt ist:

·        Für jeden Wert gibt es zwei Konstanten, die wenn möglich so heißen wie der Wert selbst (wenn es sich zum Beispiel um String-Werte handelt). Ansonsten haben die Konstanten die Namen value1, value2,...., valueN (mit beziehungsweise ohne Unterstrich):

¡        Eine Wert-Konstante vom Typ des einfachen Datentyps, Attributs beziehungsweise Elements. Die Konstante hat also den Wert eines möglichen Werts in der Enumeration. Der Name der Konstante hat zusätzlich einen Unterstrich als Präfix (zum Beispiel: _value1).

¡        Eine Objekt-Konstante vom Typ der inneren Klasse. Für die Konstante wird ein Objekt der inneren Klasse instanziiert und die Wert-Konstante für ein Attribut des Objekts gesetzt.

·        Die interne Klasse stellt Methoden zur Verfügung, um auf die Objekt-Konstante oder auf den Wert der Wert-Konstante zuzugreifen:

¡        fromValue( <Enumeration-Wert> ) und fromString( <Enumeration-Wert (als String)> )geben beide die Objekt-Konstante eines Enumeration-Werts zurück. fromValue()erwartet dabei die Wert-Konstante und fromString()den Wert in seiner String-Repräsentation. Werden falsche Werte übergeben, löst die jeweilige Methode die Laufzeit-Ausnahme java.lang.IlligalArgumentException aus.

¡        getValue() und toString() liefern den Wert zu einer Objekt-Konstante.

Hinweis

Die Enumeration-Klassen basieren auf der JAX-RPC-Spezifikation, die Sie unter http://java.sun.com/xml/downloads/jaxrpc.html herunterladen können (siehe dort Kapitel 4.2.4).

Beispiel

Ein Element fruit ist auf den Wertebereich „apple pear banana plum orange“ eingeschränkt. Das Element fruit ist Teil des Datentyps Grocery. Die Java-Proxy-Generierung generiert dann eine globale Klasse Grocery_Type mit der inneren Klasse Grocery_Type.Fruit_Type und innerhalb dieser inneren Klasse folgende Konstanten:

·        Eine String-Konstante für jeden Wert der Enumeration, zum Beispiel:
public static final java.lang.String _apple = "apple";

·        Eine Objekt-Konstante für jeden Wert der Enumeration, zum Beispiel:
public static final Fruit_Type apple = new Fruit_Type(_apple);

Wenn Sie für die Klasse Grocery_Type ein Objekt g instanziieren, liefern Ihnen die Methoden für die Enumeration folgende Werte:

Methodenaufruf

Rückgabewert

g.Fruit_Type.fromValue(_orange)

Objekt-Konstante orange vom Typ Fruit_Type

g.Fruit_Type.fromString(“orange“)

Objekt-Konstante orange vom Typ Fruit_Type

orange.getValue()

“orange“

orange.toString()

“orange“

 

 

 

 

Ende des Inhaltsbereichs