public abstract class TypeCode extends Object implements IDLEntity
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オブジェクトが記述する値型の修飾子を示す定数を返します。 |
public abstract boolean equal(TypeCode tc)
TypeCodeオブジェクトと指定されたTypeCodeオブジェクトが等しいかどうかを比較します。 これらのTypeCodeオブジェクトは、それらが交換可能であり、TypeCode操作が適用されたときに同じ結果になる場合に等価です。 tc - 比較対象のTypeCodeオブジェクトtrue、そうでない場合はfalsepublic abstract boolean equivalent(TypeCode tc)
TypeCodeオブジェクトと指定されたTypeCodeオブジェクトが等しいかどうかを判定します。
tc - この型コードと比較する型コードtrue、そうでない場合はfalsepublic 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仕様を拡張し、このメソッドが例外も処理できるようにします。
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オブジェクト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>で、7は精度、3はスケールです。 BadKind - このメソッドが、不適切な種類のTypeCodeオブジェクトで呼び出された場合public abstract short fixed_scale()
throws BadKind
TypeCodeオブジェクトで記述されたfixed型のスケールを返します。 正の数値は、小数点の右側にある桁数を示します。 たとえば、数値3000dには型コードfixed<4,0>4,0>があり、最初の数値は精度、2番目の数値はスケールです。 負の数値も可能です。その場合は、小数点の左側にゼロを付けます。 この場合、fixed<1,-3>1,-3>は、数値3000dの型コードです。 TypeCodeオブジェクトで記述されるfixed型のスケールBadKind - このメソッドが、不適切な種類のTypeCodeオブジェクトで呼び出された場合public abstract short member_visibility(int index)
throws BadKind,
Bounds
TypeCodeオブジェクトだけで呼び出すことができます。 index - 値へのインデックスを示すintPRIVATE_MEMBER.valueまたはPUBLIC_MEMBER.valueBadKind - このメソッドが、値型ではない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パッケージに実装されていない機能についてのコメント バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。