|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.omg.CORBA.TypeCode
public abstract class 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
、
そうでない場合は false
public abstract boolean equivalent(TypeCode tc)
TypeCode
オブジェクトと指定された TypeCode
オブジェクトが等しいかどうかを判定します。
tc
- この型コードと比較する型コード
true
、
そうでない場合は false
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 Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。