JavaTM Platform
Standard Ed. 6

org.omg.DynamicAny
インタフェース DynAnyFactoryOperations

既知のサブインタフェースの一覧:
DynAnyFactory
既知の実装クラスの一覧:
_DynAnyFactoryStub

public interface DynAnyFactoryOperations

DynAny オブジェクトは、DynAnyFactory オブジェクトでオペレーションを呼び出すことで作成できます。一般的に、DynAny オブジェクトを作成する方法は 2 つあります。

構築型 DynAny オブジェクトでは、構成要素の値へのアクセスをカプセル化するような DynAny オブジェクトを新しく作成できるオペレーションがサポートされます。DynAny オブジェクトでは、コピーオペレーションによる DynAny オブジェクトの新規作成もサポートしています。DynAnyFactory オブジェクトへの参照を取得するには、ORB.resolve_initial_references() を呼び出します。 このとき、識別子パラメータを「DynAnyFactory」という文字列定数に設定します。

通常、any の動的解釈では、最初に create_dyn_any() を使用して DynAny オブジェクトを作成します。作成される DynAny オブジェクト参照は、any の型によって、DynFixed、DynStruct、DynSequence、DynArray、DynUnion、DynEnum、または DynValue といったオブジェクト参照にナロー変換できます。

any の動的作成では、create_dyn_any_from_type_code() を使用して DynAny オブジェクトを作成します。 このとき、作成する値に関連付ける TypeCode を渡します。返される参照は、必要に応じて DynStruct などの複雑な型のどれかにナロー変換できます。次に、結果のオブジェクトでオペレーションを呼び出して値を初期化します。最後に、to_any オペレーションを起動して、構築型 DynAny から値を作成します。


メソッドの概要
 DynAny create_dyn_any_from_type_code(TypeCode type)
          TypeCode から DynAny を作成します。
 DynAny create_dyn_any(Any value)
          any 値から DynAny オブジェクトを新規作成します。
 

メソッドの詳細

create_dyn_any

DynAny create_dyn_any(Any value)
                      throws InconsistentTypeCode
any 値から DynAny オブジェクトを新規作成します。any 値に関連付けられている TypeCode のコピーが、結果として作成される DynAny オブジェクトに割り当てられます。DynAny オブジェクトに関連付けられる値は、元の any の値のコピーになります。作成された DynAny の現在位置は、渡された値にコンポーネントがある場合は 0、それ以外の場合は -1 に設定されます。

例外:
InconsistentTypeCode - 値の TypeCode が TCKind of tk_Principal、tk_native、 または tk_abstract_interface である場合

create_dyn_any_from_type_code

DynAny create_dyn_any_from_type_code(TypeCode type)
                                     throws InconsistentTypeCode
TypeCode から DynAny を作成します。TypeCode によって、作成されるオブジェクトの型は DynAny またはそれから派生した DynStruct などの型のどれかになります。返される参照は、派生型にナロー変換できます。どの場合も、TypeCode から作成された DynAny にはデフォルト値があります。基本型のデフォルト値は次のようになります。 複合型の場合は、対応する DynAny を作成すると、次のようなデフォルト値が割り当てられます。

例外:
InconsistentTypeCode

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。