|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--org.omg.CORBA.TypeCode
特定の CORBA データ型についての情報を格納するコンテナです。
TypeCode
オブジェクトの使用法:
NamedValue
オブジェクトは、引数および戻り値を表すために使用される。それらのコンポーネントの 1 つは Any
オブジェクトであり、Any
オブジェクトは TypeCode
オブジェクトをそのコンポーネントの 1 つとして持つ
TypeCode
オブジェクトの表現は不透明ですが、抽象的には、TypeCode
オブジェクトの構成要素は次のとおりです。
TCKind
クラスのインスタンスに設定される kind
フィールド
1ong
を記述する TypeCode
オブジェクトは、TCKind.tk_long
の種類を持ち、追加フィールドを持たない。OMG IDL 型 sequence<boolean, 10>
を記述する TypeCode
は、値 TCKind.tk_sequence
の kind
フィールド、およびシーケンス要素の型およびシーケンスの長さのための、値 boolean
および 10
のフィールドを持つ
TypeCode
オブジェクトは、さまざまな方法で取得できます。
Any.insert_X
メソッドの呼び出しから取得する。X は基本的な IDL 型。このメソッドは、型 X の TypeCode
オブジェクトを生成し、そのオブジェクトを Any
オブジェクトの type
フィールドに割り当てる
たとえば次のメソッドは、最大 30 文字の string
の TypeCode
オブジェクトを生成します。
org.omg.CORBA.TypeCode tcString = orb.create_string_tc(30);
次は、5 つの string
の array
について TypeCode
オブジェクトを生成します。
org.omg.CORBA.TypeCode tcArray = orb.create_array_tc( 5, TCKind.tk_string);
次は、Account という名前のインタフェースの TypeCode
オブジェクトを生成します。
org.omg.CORBA.TypeCode tcInterface = orb.create_interface_tc( "thisId", "Account");
Holder
クラスの _type
メソッドからの戻り値として取得する。これらの Holder
クラスは、idltojava
コンパイラによって生成される
TypeCode
クラスのほとんどのメソッドはアクセス用メソッドであり、TypeCode
オブジェクトに格納されている情報は特定の型に固有です。そのため、メソッドはメソッドが適用される種類のタイプコードだけで呼び出される必要があります。アクセス用メソッドが不適切な種類のタイプコードの情報にアクセスしようとすると、例外 TypeCodePackage.BadKind
がスローされます。たとえば、discriminator_type
メソッドが union
以外で呼び出されると、BadKind
がスローされます。これは、union
だけが判別子を持つためです。次のリストは、メソッドがどの種類のタイプコードに適用されるかを示します。
次のメソッドは、TypeCode
のすべての種類で呼び出すことができます。
equal
kind
次のメソッドは、objref
、struct
、union
、enum
、alias
、exception
、value
、value_box
、native
、および abstract_interface
で呼び出すことができます。
id
name
次のメソッドは、struct
、union
、enum
、および exception
で呼び出すことができます。
member_count
member_name
次のメソッドは、struct
、union
、および exception
で呼び出すことができます。
member_type(int index)
次のメソッドは、union
で呼び出すことができます。
member_label
discriminator_type
default_index
次のメソッドは、string
、sequence
、および array
で呼び出すことができます。
length
次のメソッドは、alias
、sequence
、array
、および value_box
で呼び出すことができます。
content_type
ほかの CORBA 疑似オブジェクトと違って、TypeCode
オブジェクトは一般的な IDL パラメータとして渡すことができます。
parameter
メソッドおよび param_count
メソッド (推奨されない) はマッピングされません。
Java IDL は CORBA 仕様を拡張し、struct
TypeCode
で許可されているすべてのオペレーションが exception
TypeCode
でも許可されるようにします。
コンストラクタの概要 | |
TypeCode()
|
メソッドの概要 | |
TypeCode |
concrete_base_type()
この TypeCode オブジェクトで記述される値型の具象基底型を記述する TypeCode オブジェクトを返します。 |
abstract TypeCode |
content_type()
この TypeCode オブジェクトによって記述されるオブジェクトのメンバの IDL 型を表す TypeCode オブジェクトを返します。 |
abstract int |
default_index()
デフォルトメンバのインデックス、またはデフォルトのメンバがない場合は -1 を返します。 |
abstract TypeCode |
discriminator_type()
デフォルトのメンバではないすべてのラベルを記述する TypeCode オブジェクトを返します。 |
abstract boolean |
equal(TypeCode tc)
この TypeCode オブジェクトと指定された TypeCode オブジェクトが等しいかどうかを比較します。 |
boolean |
equivalent(TypeCode tc)
この TypeCode オブジェクトと指定された TypeCode オブジェクトが等しいかどうかを判定します。
|
short |
fixed_digits()
この TypeCode オブジェクトで記述された fixed 型の桁数を返します。 |
short |
fixed_scale()
この TypeCode オブジェクトで記述された fixed 型のスケールを返します。 |
TypeCode |
get_compact_typecode()
すべてのオプション名およびメンバ名フィールドを削除しますが、別名タイプコードはすべてそのまま残します。 |
abstract String |
id()
この TypeCode オブジェクトのタイプを大域的に識別するリポジトリ ID を取得します。
|
abstract TCKind |
kind()
この TypeCode オブジェクトの種類を取得します。 |
abstract int |
length()
この TypeCode オブジェクトによって記述されるタイプの要素数を返します。 |
abstract int |
member_count()
この TypeCode オブジェクトで記述されるタイプのメンバ数を取得します。
|
abstract Any |
member_label(int index)
指定されたインデックスによって識別される共用体メンバのラベルを取得します。 |
abstract String |
member_name(int index)
指定されたインデックスで識別されるメンバの単純名を取得します。 |
abstract TypeCode |
member_type(int index)
指定されたインデックスで識別されるメンバのタイプを記述する TypeCode オブジェクトを取得します。
|
short |
member_visibility(int index)
指定されたインデックスのメンバの可視性を示す定数を返します。 |
abstract String |
name()
囲みスコープ内で TypeCode オブジェクトを識別する単純名を取得します。 |
short |
type_modifier()
この TypeCode オブジェクトが記述する値型の修飾子を示す定数を返します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public TypeCode()
メソッドの詳細 |
public abstract boolean equal(TypeCode tc)
TypeCode
オブジェクトと指定された TypeCode
オブジェクトが等しいかどうかを比較します。2 つの TypeCode
オブジェクトは、それらが交換可能であり、TypeCode
オペレーションが適用されたときに同じ結果になる場合に等価です。tc
- 比較対象の TypeCode
オブジェクトtrue
、そうでない場合は false
public boolean equivalent(TypeCode tc)
TypeCode
オブジェクトと指定された TypeCode
オブジェクトが等しいかどうかを判定します。
実装されていません。パッケージコメントを参照してください。
tc
- このタイプコードと比較するタイプコードtrue
、そうでない場合は false
CORBA
パッケージに実装されていない機能についてのコメントpublic TypeCode get_compact_typecode()
TypeCode
オブジェクトCORBA
パッケージに実装されていない機能についてのコメントpublic abstract TCKind kind()
TypeCode
オブジェクトの種類を取得します。タイプコードの種類は、どの TypeCode
メソッドが正常に呼び出すことができるかを示します。
kind
メソッドは、どの TypeCode
オブジェクトでも呼び出すことができます。
TypeCode
オブジェクトの kind
フィールドの値を示す TCKind
のインスタンスpublic abstract String id() throws BadKind
TypeCode
オブジェクトのタイプを大域的に識別するリポジトリ ID を取得します。
id
メソッドは、オブジェクト参照、構造体、共用体、列挙、エイリアス、例外、value 型、boxed value 型、ネイティブ、および抽象インタフェースのタイプコードで呼び出すことができます。オブジェクト参照、例外、value 型、boxed value 型、ネイティブ、抽象インタフェース TypeCode
オブジェクトは、常にリポジトリ ID を持ちます。インタフェースリポジトリまたは ORB.create_operation_list
メソッドから取得される構造体、共用体、列挙、およびエイリアス TypeCode
オブジェクトも常にリポジトリ ID を持ちます。リポジトリ ID がない場合、メソッドは空の文字列を返します。
TypeCode
オブジェクトのリポジトリ ID。リポジトリ ID がない場合は空の文字列BadKind
- メソッドが不適切な種類の TypeCode
オブジェクトで呼び出された場合public abstract String name() throws BadKind
TypeCode
オブジェクトを識別する単純名を取得します。名前はリポジトリにローカルなので、TypeCode
オブジェクトから返された名前は、特定のリポジトリ内部の型の名前とは一致しない場合があり、空の文字列の場合もあります。
name
メソッドは、オブジェクト参照、構造体、共用体、列挙、エイリアス、例外、value 型、boxed value 型、ネイティブ、および抽象インタフェース TypeCode
オブジェクトで呼び出すことができます。
TypeCode
オブジェクトを識別する名前、または空の文字列BadKind
- メソッドが不適切な種類の TypeCode
オブジェクトで呼び出された場合public abstract int member_count() throws BadKind
TypeCode
オブジェクトで記述されるタイプのメンバ数を取得します。
member_count
メソッドは、構造体、共用体、列挙 TypeCode
オブジェクトで呼び出すことができます。Java IDL は CORBA 仕様を拡張して、このメソッドが例外にも作用できるようにします。
TypeCode
オブジェクトによって記述されるタイプを構成するメンバの数BadKind
- メソッドが不適切な種類の TypeCode
オブジェクトで呼び出された場合public abstract String member_name(int index) throws BadKind, Bounds
TypeCode
オブジェクトから返される名前は、特定のリポジトリのメンバ名と一致しない場合があり、空の文字列である場合もあります。
member_name
メソッドは、構造体、共用体、および列挙 TypeCode
オブジェクトで呼び出すことができます。Java IDL は CORBA 仕様を拡張し、このメソッドが例外も処理できるようにします。
index
- 名前が要求されるメンバのインデックスBounds
- 指定されたインデックスが、タイプを構成するメンバの数と等しいか、それより大きい値の場合BadKind
- メソッドが不適切な種類の TypeCode
オブジェクトで呼び出された場合public abstract TypeCode member_type(int index) throws BadKind, Bounds
TypeCode
オブジェクトを取得します。
member_type
メソッドは、構造体および共用体 TypeCode
オブジェクトで呼び出すことができます。Java IDL は CORBA 仕様を拡張し、このメソッドが例外も処理できるようにします。
index
- タイプ情報が要求されるメンバのインデックスTypeCode
オブジェクトBounds
- 指定されたインデックスが、タイプを構成するメンバの数と等しいか、それより大きい値の場合BadKind
- メソッドが不適切な種類の TypeCode
オブジェクトで呼び出された場合public abstract Any member_label(int index) throws BadKind, Bounds
member_label
メソッドは、共用体 TypeCode
オブジェクトだけで呼び出すことができます。
index
- ラベルが要求される共用体メンバのインデックスAny
オブジェクト、またはデフォルトのメンバの 0 オクテットBounds
- 指定されたインデックスが、共用体を構成するメンバの数と等しいか、それより大きい値の場合BadKind
- メソッドが、共用体ではない TypeCode
オブジェクトで呼び出された場合public abstract TypeCode discriminator_type() throws BadKind
TypeCode
オブジェクトを返します。discriminator_type
メソッドは、共用体 TypeCode
オブジェクトだけで呼び出すことができます。TypeCode
オブジェクトBadKind
- メソッドが、共用体ではない TypeCode
オブジェクトで呼び出された場合public abstract int default_index() throws BadKind
default_index
メソッドは、共用体 TypeCode
オブジェクトだけで呼び出すことができます。
BadKind
- メソッドが、共用体ではない TypeCode
オブジェクトで呼び出された場合public abstract int length() throws BadKind
TypeCode
オブジェクトによって記述されるタイプの要素数を返します。文字列およびシーケンスの場合はバウンドが返され、0 はアンバウンドの文字列またはシーケンスを示します。配列の場合、配列の要素数が返されます。
length
メソッドは、文字列、シーケンス、および配列 TypeCode
オブジェクトで呼び出すことができます。
BadKind
- メソッドが、不適切な種類の TypeCode
オブジェクトで呼び出された場合public abstract TypeCode content_type() throws BadKind
TypeCode
オブジェクトによって記述されるオブジェクトのメンバの IDL 型を表す TypeCode
オブジェクトを返します。シーケンスおよび配列の場合は、要素の型が返されます。エイリアスの場合は、元の型が返されます。多次元配列は、次元ごとに 1 つの TypeCode
オブジェクトを入れ子にすることにより表されます。boxed value 型の場合は boxed 型が返されます。
content_type
メソッドは、シーケンス、配列、エイリアス、および boxed value 型 TypeCode
オブジェクトで呼び出すことができます。
TypeCode
オブジェクトBadKind
- メソッドが、不適切な種類の TypeCode
オブジェクトで呼び出された場合public short fixed_digits() throws BadKind
TypeCode
オブジェクトで記述された fixed 型の桁数を返します。たとえば、数値 3000.275d のタイプコードは fixed<7,3>
です。7 は精度、3 はスケールです。BadKind
- このメソッドが、不適切な種類の TypeCode
オブジェクトで呼び出された場合CORBA
パッケージに実装されていない機能についてのコメントpublic short fixed_scale() throws BadKind
TypeCode
オブジェクトで記述された fixed 型のスケールを返します。正の数値は、小数点の右側にある桁数を示します。たとえば、数値 3000d のタイプコードは fixed<4,0>
です。最初の数値は精度で、2 番目の数値はスケールです。負の数値も可能です。その場合は、小数点の左側にゼロを付けます。この場合、fixed<1,-3>
は数値 3000d のタイプコードになります。TypeCode
オブジェクトで記述される fixed 型のスケールBadKind
- このメソッドが、不適切な種類の TypeCode
オブジェクトで呼び出された場合CORBA
パッケージに実装されていない機能についてのコメントpublic short member_visibility(int index) throws BadKind, Bounds
TypeCode
オブジェクトだけで呼び出すことができます。index
- 値へのインデックスを示す int
PRIVATE_MEMBER.value
または PUBLIC_MEMBER.value
BadKind
- このメソッドが値型ではない TypeCode
オブジェクトで呼び出された場合Bounds
- 指定したインデックスが範囲外にある場合CORBA
パッケージに実装されていない機能についてのコメントpublic short type_modifier() throws BadKind
TypeCode
オブジェクトが記述する値型の修飾子を示す定数を返します。返される定数は、VM_NONE.value
、VM_ABSTRACT.value
、VM_CUSTOM.value
、または VM_TRUNCATABLE.value
のどれかである必要があります。TypeCode
オブジェクトで記述される値型を記述する定数BadKind
- このメソッドが値型ではない TypeCode
オブジェクトで呼び出された場合CORBA
パッケージに実装されていない機能についてのコメントpublic TypeCode concrete_base_type() throws BadKind
TypeCode
オブジェクトで記述される値型の具象基底型を記述する TypeCode
オブジェクトを返します。具象基底型がない場合は、null を返します。TypeCode
オブジェクトで記述される値型の具象基底型を記述する TypeCode
オブジェクトBadKind
- このメソッドが非 boxed 値型の TypeCode
オブジェクトで呼び出された場合CORBA
パッケージに実装されていない機能についてのコメント
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.