|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 によって表される値型が具象基底値型を持つ場合、 concrete_base_type オペレーションは具象基底の TypeCode を返し、そうでない場合は null が返されます。 |
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)
|
short |
fixed_digits()
|
short |
fixed_scale()
|
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)
インデックスで識別される値型メンバの Visibility を返します。 |
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)
public TypeCode get_compact_typecode()
public abstract TCKind kind()
TypeCode
オブジェクトの種類を取得します。タイプコードの種類は、どの TypeCode
メソッドが正常に呼び出すことができるかを示します。
kind
メソッドは、どの TypeCode
オブジェクトでも呼び出すことができます。
TypeCode
オブジェクトの kind
フィールドの値を示す TCKind
のインスタンスpublic abstract String id() throws BadKind
TypeCode
オブジェクトの型を大域的に識別するリポジトリ ID を取得します。
id
メソッドは、オブジェクト参照、構造体、共用体、列挙、エイリアス、例外、値型、boxed 値型、ネイティブ、および抽象インタフェースのタイプコードで呼び出すことができます。オブジェクト参照、例外、値型、boxed 値型、ネイティブ、抽象インタフェース TypeCode
オブジェクトは、常にリポジトリ ID を持ちます。インタフェースリポジトリまたは ORB.create_operation_list
メソッドから取得される構造体、共用体、列挙、およびエイリアス TypeCode
オブジェクトも常にリポジトリ ID を持ちます。リポジトリ ID がない場合、メソッドは空の文字列を返します。
TypeCode
オブジェクトのリポジトリ ID。リポジトリ ID がない場合は空の文字列TypeCode
オブジェクトで呼び出された場合public abstract String name() throws BadKind
TypeCode
オブジェクトを識別する単純名を取得します。名前はリポジトリにローカルなので、TypeCode
オブジェクトから返された名前は、特定のリポジトリの型の名前とは一致しない場合があり、空の文字列の場合もあります。
name
メソッドは、オブジェクト参照、構造体、共用体、列挙、エイリアス、例外、値型、boxed 値型、ネイティブ、および抽象インタフェース TypeCode
オブジェクトで呼び出すことができます。
TypeCode
オブジェクトを識別する名前、または空の文字列TypeCode
オブジェクトで呼び出された場合public abstract int member_count() throws BadKind
TypeCode
オブジェクトで記述される型のメンバ数を取得します。
member_count
メソッドは、構造体、共用体、列挙 TypeCode
オブジェクトで呼び出すことができます。Java IDL は CORBA 仕様を拡張して、このメソッドが例外にも作用できるようにします。
TypeCode
オブジェクトによって記述される型を構成するメンバの数TypeCode
オブジェクトで呼び出された場合public abstract String member_name(int index) throws BadKind, Bounds
TypeCode
オブジェクトから返される名前は、特定のリポジトリのメンバ名と一致しない場合があり、空の文字列である場合もあります。
member_name
メソッドは、構造体、共用体、および列挙 TypeCode
オブジェクトで呼び出すことができます。Java IDL は CORBA 仕様を拡張し、このメソッドが例外も処理できるようにします。
public abstract TypeCode member_type(int index) throws BadKind, Bounds
TypeCode
オブジェクトを取得します。
member_type
メソッドは、構造体および共用体 TypeCode
オブジェクトで呼び出すことができます。Java IDL は CORBA 仕様を拡張し、このメソッドが例外も処理できるようにします。
public abstract Any member_label(int index) throws BadKind, Bounds
member_label
メソッドは、共用体 TypeCode
オブジェクトだけで呼び出すことができます。
public abstract TypeCode discriminator_type() throws BadKind
TypeCode
オブジェクトを返します。discriminator_type
メソッドは、共用体 TypeCode
オブジェクトだけで呼び出すことができます。TypeCode
オブジェクトTypeCode
オブジェクトで呼び出された場合public abstract int default_index() throws BadKind
default_index
メソッドは、共用体 TypeCode
オブジェクトだけで呼び出すことができます。
TypeCode
オブジェクトで呼び出された場合public abstract int length() throws BadKind
TypeCode
オブジェクトによって記述される型の要素数を返します。文字列およびシーケンスの場合はバウンドが返され、0 はアンバウンドの文字列またはシーケンスを示します。配列の場合、配列の要素数が返されます。
length
メソッドは、文字列、シーケンス、および配列 TypeCode
オブジェクトで呼び出すことができます。
TypeCode
オブジェクトで呼び出された場合public abstract TypeCode content_type() throws BadKind
TypeCode
オブジェクトによって記述されるオブジェクトのメンバの IDL 型を表す TypeCode
オブジェクトを返します。シーケンスおよび配列の場合は、要素の型が返されます。エイリアスの場合は、元の型が返されます。多次元配列は、次元ごとに 1 つの TypeCode
オブジェクトを入れ子にすることにより表されます。boxed 値型の場合は boxed 型が返されます。
content_type
メソッドは、シーケンス、配列、エイリアス、および boxed 値型 TypeCode
オブジェクトで呼び出すことができます。
TypeCode
オブジェクトTypeCode
オブジェクトで呼び出された場合public short fixed_digits() throws BadKind
public short fixed_scale() throws BadKind
public short member_visibility(int index) throws BadKind, Bounds
Visibility
を返します。このオペレーションは、非 boxed 値 TypeCode
オブジェクトだけで呼び出すことができます。public short type_modifier() throws BadKind
TypeCode
によって表される値型に適用される修飾子を返します。TypeCode
で呼び出された場合public TypeCode concrete_base_type() throws BadKind
concrete_base_type
オペレーションは具象基底の TypeCode
を返し、そうでない場合は null が返されます。TypeCode
オブジェクトTypeCode
で呼び出された場合
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |