| |
1-18 IDL zu abbildendem Java, v1.2 August 2002 1 neues < enum_name > (_ < Aufkleber > allgemeines internes value() {... } // erhalten Sie enum mit spezifiziertem Wert allgemeines statisches < enum_name > from_int(intwert); // Erbauer geschütztes < enum_name > (intern) {... } allgemeines java.lang.Object-readResolve() wirft java.io.ObjectStreamException {... } } Eins der Mitglieder ist eine allgemeine statische Endrunde das hat den gleichen Namen wie IDL-enumaufkleber. Das andere hat ein Unterstreichen (_) vorangestellt und soll verwendet werden in den Schalteraussagen. Die Wertmethode bringt den Ganzzahlenwert zurück. Werte werden der Reihe nach beginnen zugewiesen mit 0. Merken Sie, daß es keinen Konflikt mit dem value() gibt Methode in Java, selbst wenn es gibt ein Aufkleber genannt Wert . Es gibt nur einen Fall eines enum. Da es nur einen Fall gibt, Gleichheit Tests arbeiten richtig. Z.B. die Implementierung der Rückstellung java.lang.Object von equals() und hash() arbeitet automatisch richtig für ein singleton des enum s Gegenstand. Merken Sie, daß es notwendig ist, eine readResolvemethode zu liefern, um Einzigartigkeit zu erzwingen von den enumelementen, als anders periodischer Veröffentlichung, die vom deserialization gefolgt wird, verursacht a neues Element. Die Javakategorie für das enum hat ein zusätzliches Methoden- from_int() das zurückbringt enum mit dem spezifizierten Wert, wenn der spezifizierte Wert einem Element von entspricht enum. Wenn der spezifizierte Wert aus Strecke heraus ist, ein BAD_PARAM Ausnahme mit a kleiner Standardcode von 25 wird angehoben. Eine Helferkategorie wird auch entsprechend den normalen Richtlinien, sehen Abschnitt 1,5 erzeugt, Helfer, auf Seite 1-13. Die Halterkategorie für das enum wird auch erzeugt. Sein Name ist das enum s abgebildetes Java classname mit Halter hinzugefügt zu ihm, wie folgt: allgemeine Kategorie < enum_name > Halterwerkzeuge org.omg.CORBA.portable.Streamable { allgemeines < enum_name > Wert; allgemeines < enum_name > Holder() { } allgemeines < enum_name > Holder(< enum_name > Initiale) {... } Öffentlichkeit leeres _ read(org.omg.CORBA.portable.InputStream ist) {... } leeres _ write(der Öffentlichkeit org.omg.CORBA.portable.OutputStream-OS) {... } type(der Öffentlichkeit org.omg.CORBA.TypeCode _) {... } } |  |
|
| |
|
|