Java プラットフォーム 1.2

org.omg.CORBA
クラス Any

java.lang.Object
  |
  +--org.omg.CORBA.Any

public abstract class Any
extends Object
implements IDLEntity

IDL で記述できるあらゆるデータのコンテナ、または IDL のプリミティブ型のコンテナとして機能します。Any オブジェクトは、NamedValue オブジェクトのコンポーネントとして使用されます。NamedValue オブジェクトは、要求が取る引数または戻り値についての情報を提供し、また Context オブジェクトで名前と値の組を定義するために使用されます。

Any オブジェクトの構成要素は次の 2 つです。

  1. データ値
  2. Any オブジェクトに格納されているデータ値の型を記述する TypeCode オブジェクト。たとえば配列の TypeCode オブジェクトは、配列の長さのフィールドおよび配列要素の型のフィールドを持つ。この場合、TypeCode オブジェクトの 2 番目のフィールドはそれ自体が TypeCode オブジェクトである

Any クラスの大部分は、Any オブジェクトに値を挿入するメソッドと、Any オブジェクトから値を抽出するメソッドの組で構成されます。

たとえばプリミティブ型 X が指定された場合、メソッドは次のとおりです。

void insert_X(X x)
このメソッドにより、プリミティブ型 X のインスタンス xAny オブジェクトの value フィールドに挿入することができる。また、insert_X メソッドは必要に応じて Any オブジェクトの type フィールドをリセットする
X extract_X()
このメソッドにより、型 X のインスタンスを Any オブジェクトから抽出することができる

このメソッドは、次の 2 つの条件下で例外 BAD_OPERATION をスローします。

  1. Any オブジェクトに格納されている要素の型が X ではない場合
  2. extract_X メソッドが、 Any オブジェクトの value フィールドが設定される前に呼び出された場合

各プリミティブ IDL データ型によって、それぞれ別々のメソッドの組があります。たとえば、insert_longextract_longinsert_stringextract_string などです。

Any クラスには、タイプコードを取得および設定するためのメソッド、2 つの Any オブジェクトが等しいかどうかをテストするメソッド、ストリームから Any オブジェクトを読み込むメソッド、ストリームに Any オブジェクトを書き込むメソッドもあります。

導入されたバージョン:
JDK1.2
関連項目:
直列化された形式

コンストラクタの概要
Any()
           
 
メソッドの概要
abstract  InputStream create_input_stream()
          この Any オブジェクトの値を非整列化できる入力ストリームを作成します。
abstract  OutputStream create_output_stream()
          この Any オブジェクトの値を整列化できる出力ストリームを作成します。
abstract  boolean equal(Any a)
          この Any オブジェクトと指定された Any オブジェクトが等しいかどうかを判定します。
abstract  Any extract_any()
           
abstract  boolean extract_boolean()
           
abstract  char extract_char()
           
abstract  double extract_double()
           
 BigDecimal extract_fixed()
           
abstract  float extract_float()
           
abstract  int extract_long()
           
abstract  long extract_longlong()
           
abstract  Object extract_Object()
           
abstract  byte extract_octet()
           
abstract  Principal extract_Principal()
          推奨されません。 CORBA 2.2 では推奨されません。
abstract  short extract_short()
           
abstract  String extract_string()
           
abstract  TypeCode extract_TypeCode()
           
abstract  int extract_ulong()
           
abstract  long extract_ulonglong()
           
abstract  short extract_ushort()
           
 Serializable extract_Value()
           
abstract  char extract_wchar()
           
abstract  String extract_wstring()
           
abstract  void insert_any(Any a)
           
abstract  void insert_boolean(boolean b)
           
abstract  void insert_char(char c)
           
abstract  void insert_double(double d)
           
 void insert_fixed(BigDecimal value)
           
 void insert_fixed(BigDecimal value, TypeCode type)
           
abstract  void insert_float(float f)
           
abstract  void insert_long(int l)
           
abstract  void insert_longlong(long l)
           
abstract  void insert_Object(Object o)
           
abstract  void insert_Object(Object o, TypeCode t)
           
abstract  void insert_octet(byte b)
           
abstract  void insert_Principal(Principal p)
          推奨されません。 CORBA 2.2 では推奨されません。
abstract  void insert_short(short s)
           
abstract  void insert_Streamable(Streamable s)
          指定された Streamable オブジェクトを、この Any オブジェクトの value フィールドに挿入します。
abstract  void insert_string(String s)
           
abstract  void insert_TypeCode(TypeCode t)
           
abstract  void insert_ulong(int l)
           
abstract  void insert_ulonglong(long l)
           
abstract  void insert_ushort(short s)
           
 void insert_Value(Serializable v)
           
 void insert_Value(Serializable v, TypeCode t)
           
abstract  void insert_wchar(char c)
           
abstract  void insert_wstring(String s)
           
abstract  void read_value(InputStream is, TypeCode t)
          指定されたタイプコードを使用して、指定された入力ストリームから Any オブジェクトの値を読み込みます (非整列化する)。
abstract  TypeCode type()
          この Any オブジェクトに格納されている要素の型情報を返します。
abstract  void type(TypeCode t)
          この Any オブジェクトの type フィールドを、指定された TypeCode オブジェクトに設定し、その値をクリアします。
abstract  void write_value(OutputStream os)
          この Any オブジェクトのタイプコードと値を、指定された出力ストリームに書き込みます。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Any

public Any()
メソッドの詳細

type

public abstract TypeCode type()
この Any オブジェクトに格納されている要素の型情報を返します。
戻り値:
この Any に格納されているオブジェクトの型情報を格納する TypeCode オブジェクト

type

public abstract void type(TypeCode t)
この Any オブジェクトの type フィールドを、指定された TypeCode オブジェクトに設定し、その値をクリアします。

このメソッドを使用してタイプコードを設定すると、値がある場合にその値が消されてしまうことに注意してください。このメソッドは、主に IDL の out パラメータに対して型を正しく設定できるように提供されます。通常、型の設定は insert_X メソッドによって行われます。insert_X メソッドは、型がまだ X に設定されていない場合にその型を X に設定します。

パラメータ:
t - この Any オブジェクトにあるオブジェクトの情報を提供する TypeCode オブジェクト

equal

public abstract boolean equal(Any a)
この Any オブジェクトと指定された Any オブジェクトが等しいかどうかを判定します。2 つの Any オブジェクトは、値とタイプコードの両方が同じ場合に等しくなります。
パラメータ:
a - 等しいかどうかを調べる Any オブジェクト
戻り値:
2 つの Any オブジェクトが等しい場合は true、そうでない場合は false

read_value

public abstract void read_value(InputStream is,
                                TypeCode t)
                         throws MARSHAL
指定されたタイプコードを使用して、指定された入力ストリームから Any オブジェクトの値を読み込みます (非整列化する)。
パラメータ:
is - この Any オブジェクトに格納されている値を読み込む org.omg.CORBA.portable.InputStream オブジェクト
t - 読み出される値の型情報を格納する TypeCode オブジェクト
例外:
MARSHAL - 指定された TypeCode オブジェクトが入力ストリームに格納されていた値と一貫性がない場合

write_value

public abstract void write_value(OutputStream os)
この Any オブジェクトのタイプコードと値を、指定された出力ストリームに書き込みます。

値が value フィールドに挿入されていない Any オブジェクトからこのメソッドが呼び出された場合、このメソッドは例外 java.lang.NullPointerException をスローします。

パラメータ:
os - この Any オブジェクトの値とタイプコードを整列化する org.omg.CORBA.portable.OutputStream オブジェクト

create_output_stream

public abstract OutputStream create_output_stream()
この Any オブジェクトの値を整列化できる出力ストリームを作成します。
戻り値:
新しく作成された OutputStream

create_input_stream

public abstract InputStream create_input_stream()
この Any オブジェクトの値を非整列化できる入力ストリームを作成します。
戻り値:
新しく作成された InputStream

insert_Streamable

public abstract void insert_Streamable(Streamable s)
指定された Streamable オブジェクトを、この Any オブジェクトの value フィールドに挿入します。このメソッドにより、非プリミティブ IDL 型の挿入が可能になります。
パラメータ:
s - この Any オブジェクトに挿入する Streamable オブジェクト

extract_short

public abstract short extract_short()
                             throws BAD_OPERATION

insert_short

public abstract void insert_short(short s)

extract_long

public abstract int extract_long()
                          throws BAD_OPERATION

insert_long

public abstract void insert_long(int l)

extract_longlong

public abstract long extract_longlong()
                               throws BAD_OPERATION

insert_longlong

public abstract void insert_longlong(long l)

extract_ushort

public abstract short extract_ushort()
                              throws BAD_OPERATION

insert_ushort

public abstract void insert_ushort(short s)

extract_ulong

public abstract int extract_ulong()
                           throws BAD_OPERATION

insert_ulong

public abstract void insert_ulong(int l)

extract_ulonglong

public abstract long extract_ulonglong()
                                throws BAD_OPERATION

insert_ulonglong

public abstract void insert_ulonglong(long l)

extract_float

public abstract float extract_float()
                             throws BAD_OPERATION

insert_float

public abstract void insert_float(float f)

extract_double

public abstract double extract_double()
                               throws BAD_OPERATION

insert_double

public abstract void insert_double(double d)

extract_boolean

public abstract boolean extract_boolean()
                                 throws BAD_OPERATION

insert_boolean

public abstract void insert_boolean(boolean b)

extract_char

public abstract char extract_char()
                           throws BAD_OPERATION

insert_char

public abstract void insert_char(char c)
                          throws DATA_CONVERSION

extract_octet

public abstract byte extract_octet()
                            throws BAD_OPERATION

insert_octet

public abstract void insert_octet(byte b)

extract_wchar

public abstract char extract_wchar()
                            throws BAD_OPERATION

insert_wchar

public abstract void insert_wchar(char c)

extract_any

public abstract Any extract_any()
                         throws BAD_OPERATION

insert_any

public abstract void insert_any(Any a)

extract_string

public abstract String extract_string()
                               throws BAD_OPERATION

insert_string

public abstract void insert_string(String s)
                            throws DATA_CONVERSION,
                                   MARSHAL

extract_wstring

public abstract String extract_wstring()
                                throws BAD_OPERATION

insert_wstring

public abstract void insert_wstring(String s)
                             throws MARSHAL

extract_Object

public abstract Object extract_Object()
                               throws BAD_OPERATION

insert_Object

public abstract void insert_Object(Object o)

insert_Object

public abstract void insert_Object(Object o,
                                   TypeCode t)
                            throws BAD_OPERATION

extract_TypeCode

public abstract TypeCode extract_TypeCode()
                                   throws BAD_OPERATION

insert_TypeCode

public abstract void insert_TypeCode(TypeCode t)

extract_Principal

public abstract Principal extract_Principal()
                                     throws BAD_OPERATION
推奨されません。 CORBA 2.2 では推奨されません。

insert_Principal

public abstract void insert_Principal(Principal p)
推奨されません。 CORBA 2.2 では推奨されません。

extract_fixed

public BigDecimal extract_fixed()

insert_fixed

public void insert_fixed(BigDecimal value)

insert_fixed

public void insert_fixed(BigDecimal value,
                         TypeCode type)

extract_Value

public Serializable extract_Value()
                           throws BAD_OPERATION

insert_Value

public void insert_Value(Serializable v)

insert_Value

public void insert_Value(Serializable v,
                         TypeCode t)
                  throws MARSHAL

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.