|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
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()
|
|
| メソッドの概要 | |
abstract 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 オブジェクトが等しいかどうかを比較します。 |
abstract boolean |
equivalent(TypeCode tc)
この TypeCode オブジェクトと指定された TypeCode オブジェクトが等しいかどうかを判定します。
|
abstract short |
fixed_digits()
この TypeCode オブジェクトで記述された fixed 型の桁数を返します。 |
abstract short |
fixed_scale()
この TypeCode オブジェクトで記述された fixed 型のスケールを返します。 |
abstract 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 オブジェクトを取得します。
|
abstract short |
member_visibility(int index)
指定されたインデックスのメンバの可視性を示す定数を返します。 |
abstract String |
name()
囲みスコープ内で TypeCode オブジェクトを識別する単純名を取得します。 |
abstract 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、そうでない場合は falsepublic abstract boolean equivalent(TypeCode tc)
TypeCode オブジェクトと指定された TypeCode オブジェクトが等しいかどうかを判定します。
実装されていません。パッケージコメントを参照してください。
tc - この型コードと比較する型コード
true、そうでない場合は falseCORBA パッケージに実装されていない機能についてのコメントpublic abstract 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 abstract short fixed_digits()
throws BadKind
TypeCode オブジェクトで記述された fixed 型の桁数を返します。たとえば、数値 3000.275d の型コードは fixed<7,3> です。7 は精度、3 はスケールです。
BadKind - このメソッドが、不適切な種類の TypeCode オブジェクトで呼び出された場合
public abstract short fixed_scale()
throws BadKind
TypeCode オブジェクトで記述された fixed 型のスケールを返します。正の数値は、小数点の右側にある桁数を示します。たとえば、数値 3000d の型コードは fixed<4,0> です。最初の数値は精度で、2 番目の数値はスケールです。負の数値も可能です。その場合は、小数点の左側にゼロを付けます。この場合、fixed<1,-3> は数値 3000d の型コードになります。
TypeCode オブジェクトで記述される fixed 型のスケール
BadKind - このメソッドが、不適切な種類の TypeCode オブジェクトで呼び出された場合
public abstract short member_visibility(int index)
throws BadKind,
Bounds
TypeCode オブジェクトだけで呼び出すことができます。
index - 値へのインデックスを示す int
PRIVATE_MEMBER.value または PUBLIC_MEMBER.value
BadKind - このメソッドが値型ではない TypeCode オブジェクトで呼び出された場合
Bounds - 指定したインデックスが範囲外にある場合CORBA パッケージに実装されていない機能についてのコメント
public abstract short type_modifier()
throws BadKind
TypeCode オブジェクトが記述する値型の修飾子を示す定数を返します。返される定数は、VM_NONE.value、VM_ABSTRACT.value、VM_CUSTOM.value、または VM_TRUNCATABLE.value のどれかである必要があります。
TypeCode オブジェクトで記述される値型を記述する定数
BadKind - このメソッドが値型ではない TypeCode オブジェクトで呼び出された場合CORBA パッケージに実装されていない機能についてのコメント
public abstract TypeCode concrete_base_type()
throws BadKind
TypeCode オブジェクトで記述される値型の具象基底型を記述する TypeCode オブジェクトを返します。具象基底型がない場合は、null を返します。
TypeCode オブジェクトで記述される値型の具象基底型を記述する TypeCode オブジェクト
BadKind - このメソッドが非 boxed 値型の TypeCode オブジェクトで呼び出された場合CORBA パッケージに実装されていない機能についてのコメント
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.