Borland(R) Enterprise Server VisiBroker(R) プログラマーズリファレンス
Holderクラスは,OUTおよびINOUTパラメタ受け渡しモードをサポートし,org.omg.CORBAパッケージのすべての基本IDLデータ型で利用できます。Holderクラスは,typedefsで定義されたものを除いて,すべての名前付きユーザ定義型で生成されます。Holderクラスの詳細については,「3. 生成されるインタフェースとクラス(Java)」を参照してください。
ユーザ定義IDL型では,Holderクラス名は,その型のマッピングされたJava名の後ろにHolderを付けて構成されます。
基本IDLデータ型では,マッピングされたデータ型に対するJava型名(最初の文字が大文字)の後ろにHolderを付けたHolderクラス名になります。例えば,IntHolderがそうです。
各Holderクラスには,インスタンスからのコンストラクタ,デフォルトコンストラクタがあり,型付きのvalueというパブリックインスタンスメンバがあります。デフォルトコンストラクタは,Java言語によって定義されたように,値フィールドを型のデフォルト値に設定します。
ポータブルスタブ,およびスケルトンをサポートするには,ユーザ定義型のHolderクラスもorg.omg.CORBA.portable.Streamableインタフェースをインプリメントします。
基本型のHolderクラスは,次のコードサンプルで定義されます。これらはorg.omg.CORBAパッケージにあります。
//Java package org.omg.CORBA; final public class ShortHolder implements Streamable { public short value; public ShortHolder( ){} public ShortHolder(short initial){ value =initial; } ...//implementation of the streamable interface } final public class IntHolder implements Streamable { public int value; public IntHolder( ){} public IntHolder(int initial){ value =initial; } ...//implementation of the streamable interface } final public class LongHolder implements Streamable { public long value; public LongHolder( ){} public LongHolder(long initial){ value =initial; } ...//implementation of the streamable interface } final public class ByteHolder implements Streamable { public byte value; public ByteHolder( ){} public ByteHolder(byte initial){ value =initial; } ...//implementation of the streamable interface } final public class FloatHolder implements Streamable { public float value; public FloatHolder( ){} public FloatHolder(float initial){ value =initial; } ...//implementation of the streamable interface } final public class DoubleHolder implements Streamable { public double value; public DoubleHolder( ){} public DoubleHolder(double initial){ value =initial; } ...//implementation of the streamable interface } final public class CharHolder implements Streamable { public char value; public CharHolder( ){} public CharHolder(char initial){ value =initial; } ...//implementation of the streamable interface } final public class BooleanHolder implements Streamable { public boolean value; public BooleanHolder( ){} public BooleanHolder(boolean initial){ value =initial; } ...//implementation of the streamable interface } final public class StringHolder implements Streamable { public java.lang.String value; public StringHolder( ){} public StringHolder(java.lang.String initial){ value =initial; } ...//implementation of the streamable interface } final public class ObjectHolder implements Streamable { public org.omg.CORBA.Object value; public ObjectHolder( ){} public ObjectHolder(org.omg.CORBA.Object initial){ value =initial; } ...//implementation of the streamable interface } final public class ValueBaseHolder implements Streamable { public java.io.Serializable value; public ValueBaseHolder( ){} public ValueBaseHolder(java.io.Serializable initial){ value =initial; } ...//implementation of the streamable interface } final public class AnyHolder implements Streamable { public Any value; public AnyHolder( ){} public AnyHolder(Any initial){ value =initial; } ...//implementation of the streamable interface } final public class TypeCodeHolder implements Streamable { public TypeCode value; public typeCodeHolder( ){} public TypeCodeHolder(TypeCode initial){ value =initial; } ...//implementation of the streamable interface } final public class PrincipalHolder implements Streamable { public Principal value; public PrincipalHolder( ){} public PrincipalHolder(Principal initial){ value =initial; } ...//implementation of the streamable interface }
ユーザ定義型<foo>のHolderクラスを次に示します。
// Java final public class <foo>Holder implements org.omg.CORBA.portable.Streamable { public <foo> value; public <foo>Holder( ) {} public <foo>Holder(<foo> initial) {} public void _read(org.omg.CORBA.portable.InputStream i) {...} public void _write(org.omg.CORBA.portable.OutputStream o) {...} public org.omg.CORBA.TypeCode _type( ) {...} }
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.
COPYRIGHT (C) 1992-2004 Borland Software Corporation. All rights reserved.