- java.lang.Object
-
- org.omg.CORBA.Any
-
- All Implemented Interfaces:
-
Serializable,IDLEntity
public abstract class Any extends Object implements IDLEntity
作为可以在IDL或任何IDL原语类型中描述的任何数据的容器。 一个Any对象用作的一个组件NamedValue对象,它提供了有关请求参数或返回值的信息,并且用于在定义的名称/值对Context对象。一个
Any对象由两部分组成:- 一个数据值
- 描述
TypeCode对象中包含的数据值的类型的Any对象。 例如,数组的一个TypeCode对象包含数组长度的字段和数组中元素类型的一个字段。 (请注意,在这种情况下,TypeCode对象的第二个字段本身就是一个TypeCode对象。)
Any类中的很大一部分由用于在Any对象中插入值并从中提取值的方法组成。对于给定的原始类型X,这些方法是:
-
void insert_X(X x) -
该方法允许将原始类型
X的实例x插入到Any对象的value字段中。 请注意,如果需要,方法insert_X还会重置Any对象的type字段。 -
X extract_X() -
该方法允许从
Any对象提取类型为X的实例。
这种方法在两个条件下抛出异常
BAD_OPERATION:-
Any对象中包含的元素的类型不是X - 在
Any对象的value字段已被设置之前调用方法extract_X
-
有用于每个基本IDL数据类型(不同的方法对
insert_long和extract_long,insert_string和extract_string,等等)。Any类还具有获取和设置类型代码的方法,用于测试两个Any对象的相等性,以及从流中读取Any对象或将其写入流。- 从以下版本开始:
- JDK1.2
-
-
构造方法摘要
构造方法 Constructor 描述 Any()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 abstract InputStreamcreate_input_stream()创建一个输入流,从中可以Any此Any对象的值。abstract OutputStreamcreate_output_stream()创建一个可以编组Any对象的值的输出流。abstract booleanequal(Any a)检查此Any对象与给定的Any对象之间是否相等。abstract Anyextract_any()在此Any对象的value字段中提取Any对象。abstract booleanextract_boolean()提取boolean在此Any对象value场。abstract charextract_char()提取char在此Any对象value场。abstract doubleextract_double()提取double在此Any对象value场。BigDecimalextract_fixed()在此Any对象的value字段中提取java.math.BigDecimal对象。abstract floatextract_float()提取float在此Any对象value场。abstract intextract_long()提取int在此Any对象value场。abstract longextract_longlong()提取long在此Any对象value场。abstract Objectextract_Object()提取org.omg.CORBA.Object在此Any对象value场。abstract byteextract_octet()提取byte在此Any对象value场。Principalextract_Principal()已过时。被CORBA弃用2.2。abstract shortextract_short()提取short在此Any对象value场。Streamableextract_Streamable()从此Any对象的value字段中提取一个Streamable。abstract Stringextract_string()提取String在这个对象Any对象value场。abstract TypeCodeextract_TypeCode()提取TypeCode在这个对象Any对象value场。abstract intextract_ulong()提取int在此Any对象value场。abstract longextract_ulonglong()提取long在此Any对象value场。abstract shortextract_ushort()提取short在此Any对象value场。abstract Serializableextract_Value()在此Any对象的value字段中提取java.io.Serializable对象。abstract charextract_wchar()提取char在此Any对象value场。abstract Stringextract_wstring()提取String在这个对象Any对象value场。abstract voidinsert_any(Any a)将给定的Any对象插入到此Any对象的value字段中。abstract voidinsert_boolean(boolean b)将给定的boolean插入到这个Any对象的value字段中。abstract voidinsert_char(char c)将给定的char插入此Any对象的value字段。abstract voidinsert_double(double d)将给定的double插入到这个Any对象的value字段中。voidinsert_fixed(BigDecimal value)抛出一个org.omg.CORBA.NO_IMPLEMENT例外。voidinsert_fixed(BigDecimal value, TypeCode type)抛出一个org.omg.CORBA.NO_IMPLEMENT异常。abstract voidinsert_float(float f)将给定的float插入到此Any对象的value字段中。abstract voidinsert_long(int l)将给定的int插入到这个Any对象的value字段中。abstract voidinsert_longlong(long l)将给定的long插入此Any对象的value字段。abstract voidinsert_Object(Object o)将给定的org.omg.CORBA.Object对象插入到此Any对象的value字段中。abstract voidinsert_Object(Object o, TypeCode t)将给定的org.omg.CORBA.Object对象插入到此Any对象的value字段中。abstract voidinsert_octet(byte b)将给定的byte插入到这个Any对象的value字段中。voidinsert_Principal(Principal p)已过时。被CORBA弃用2.2。abstract voidinsert_short(short s)将给定的short插入此Any对象的value字段。voidinsert_Streamable(Streamable s)将给定的Streamable对象插入到此Any对象的value字段中。abstract voidinsert_string(String s)将给定的String对象插入到此Any对象的value字段中。abstract voidinsert_TypeCode(TypeCode t)将给定的TypeCode对象插入到此Any对象的value字段中。abstract voidinsert_ulong(int l)将给定的int插入到此Any对象的value字段中。abstract voidinsert_ulonglong(long l)将给定的long插入此Any对象的value字段。abstract voidinsert_ushort(short s)将给定的short插入Any对象的value字段。abstract voidinsert_Value(Serializable v)将给定的java.io.Serializable对象插入到此Any对象的value字段中。abstract voidinsert_Value(Serializable v, TypeCode t)将给定的java.io.Serializable对象插入到此Any对象的value字段中。abstract voidinsert_wchar(char c)将给定的char插入到这个Any对象的value字段中。abstract voidinsert_wstring(String s)将给定的String对象插入到此Any对象的value字段中。abstract voidread_value(InputStream is, TypeCode t)使用给定的类型代码从给定的输入流读取(解组)一个Any对象的值。abstract TypeCodetype()返回此Any对象中包含的元素的类型信息。abstract voidtype(TypeCode t)将此Any对象的type字段设置为给定的TypeCode对象,并清除其值。abstract voidwrite_value(OutputStream os)将此Any对象的值写入给定的输出流。
-
-
-
方法详细信息
-
equal
public abstract boolean equal(Any a)
检查此Any对象与给定的Any对象之间是否相等。 如果两个Any对象的值和类型代码相等,则它们是相等的。- 参数
-
a-Any对象测试相等 - 结果
-
true如果Any对象相等; 否则为false - 另请参见:
-
CORBApackage comments for unimplemented features
-
type
public abstract TypeCode type()
返回此Any对象中包含的元素的类型信息。- 结果
-
TypeCode对象包含有关此Any对象中包含的值的类型信息
-
type
public abstract void type(TypeCode t)
将此Any对象的type字段设置为给定的TypeCode对象,并清除其值。请注意,使用此方法设置类型代码会擦除值,如果有的话。 主要提供该方法,以便为IDL
out参数设置适当的类型。 一般来说,设置类型是由insert_X方法完成的,如果尚未设置为X,则将其设置为X。- 参数
-
t- 提供TypeCode对象中的值的信息的Any对象
-
read_value
public abstract void read_value(InputStream is, TypeCode t) throws MARSHAL
使用给定的类型代码从给定的输入流中读取(解组)一个Any对象的值。- 参数
-
is-所述org.omg.CORBA.portable.InputStream从中读取包含在该值对象Any对象 -
t- 一个TypeCode对象,其中包含有关要读取的值的类型信息 - 异常
-
MARSHAL- 当给定的TypeCode对象与输入流中包含的值不一致时
-
write_value
public abstract void write_value(OutputStream os)
将此Any对象的值写入给定的输出流。 如果需要写入typecode和value,请使用create_output_stream()创建一个OutputStream,然后在write_any上使用OutputStream。如果在一个
Any对象上调用了该方法,该对象尚未将值插入其value字段中,则会抛出异常java.lang.NullPointerException。- 参数
-
os-所述org.omg.CORBA.portable.OutputStream对象到其中的这个编组的值Any对象
-
create_output_stream
public abstract OutputStream create_output_stream()
创建可以编组此Any对象值的输出流。- 结果
-
新创
OutputStream
-
create_input_stream
public abstract InputStream create_input_stream()
创建一个输入流,从中可以Any此Any对象的值。- 结果
-
新创
InputStream
-
extract_short
public abstract short extract_short() throws BAD_OPERATION提取short在此Any对象value场。- 结果
-
short存储在这个Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含Any以外的其他short或value字段尚未设置
-
insert_short
public abstract void insert_short(short s)
将给定的short插入到这个Any对象的value字段中。- 参数
-
s- 将short插入此Any对象
-
extract_long
public abstract int extract_long() throws BAD_OPERATION提取int在此Any对象value场。- 结果
-
int存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含int或value字段之外的其他对象尚未设置
-
insert_long
public abstract void insert_long(int l)
将给定的int插入到这个Any对象的value字段中。- 参数
-
l-int插入这个Any对象
-
extract_longlong
public abstract long extract_longlong() throws BAD_OPERATION提取long在此Any对象value场。- 结果
-
该
long存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含long或value字段尚未设置的内容
-
insert_longlong
public abstract void insert_longlong(long l)
将给定的long插入到这个Any对象的value字段中。- 参数
-
l- 该long插入到这个Any对象
-
extract_ushort
public abstract short extract_ushort() throws BAD_OPERATION提取short在此Any对象value场。- 结果
-
该
short存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含short或value字段尚未设置的内容
-
insert_ushort
public abstract void insert_ushort(short s)
将给定的short插入到这个Any对象的value字段中。- 参数
-
s- 该short插入到这个Any对象
-
extract_ulong
public abstract int extract_ulong() throws BAD_OPERATION提取int在此Any对象value场。- 结果
-
该
int存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含int或value字段尚未设置的内容
-
insert_ulong
public abstract void insert_ulong(int l)
将给定的int插入到这个Any对象的value字段中。- 参数
-
l- 该int插入此Any对象
-
extract_ulonglong
public abstract long extract_ulonglong() throws BAD_OPERATION提取long在此Any对象value场。- 结果
-
long存储在这个Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含long或value字段尚未设置的对象
-
insert_ulonglong
public abstract void insert_ulonglong(long l)
将给定的long插入到这个Any对象的value字段中。- 参数
-
l-long插入这个Any对象
-
extract_float
public abstract float extract_float() throws BAD_OPERATION提取float在此Any对象value场。- 结果
-
float存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含float或value字段之外的其他对象尚未设置
-
insert_float
public abstract void insert_float(float f)
将给定的float插入到这个Any对象的value字段中。- 参数
-
f-float插入这个Any对象
-
extract_double
public abstract double extract_double() throws BAD_OPERATION提取double在此Any对象value场。- 结果
-
该
double存储在此Any对象中 - 异常
-
BAD_OPERATION-如果此Any对象包含比其他东西double或者value领域尚未设置
-
insert_double
public abstract void insert_double(double d)
将给定的double插入到这个Any对象的value字段中。- 参数
-
d-double插入这个Any对象
-
extract_boolean
public abstract boolean extract_boolean() throws BAD_OPERATION提取boolean在此Any对象value场。- 结果
-
boolean存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含Any以外的其他boolean或value字段尚未设置
-
insert_boolean
public abstract void insert_boolean(boolean b)
将给定的boolean插入到这个Any对象的value字段中。- 参数
-
b-boolean插入到这个Any对象
-
extract_char
public abstract char extract_char() throws BAD_OPERATION提取char在此Any对象value场。- 结果
-
char存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含char或value字段尚未设置的内容
-
insert_char
public abstract void insert_char(char c) throws DATA_CONVERSION将给定的char插入到这个Any对象的value字段中。- 参数
-
c- 将char插入此Any对象 - 异常
-
DATA_CONVERSION- 如果有数据转换错误
-
extract_wchar
public abstract char extract_wchar() throws BAD_OPERATION提取char在此Any对象value场。- 结果
-
该
char存储在此Any对象中 - 异常
-
BAD_OPERATION-如果此Any对象包含比其他东西char或者value领域尚未设置
-
insert_wchar
public abstract void insert_wchar(char c)
将给定的char插入到这个Any对象的value字段中。- 参数
-
c-char插入到这个Any对象
-
extract_octet
public abstract byte extract_octet() throws BAD_OPERATION提取byte在此Any对象value场。- 结果
-
该
byte存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含一个byte或value字段尚未设置的内容
-
insert_octet
public abstract void insert_octet(byte b)
将给定的byte插入到这个Any对象的value字段中。- 参数
-
b- 将byte插入到这个Any对象中
-
extract_any
public abstract Any extract_any() throws BAD_OPERATION
在Any对象的value字段中提取Any对象。- 结果
-
该
Any对象存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含Any对象以外的Any或者value字段尚未设置
-
insert_any
public abstract void insert_any(Any a)
将给定的Any对象插入到此Any对象的value字段中。- 参数
-
a- 将Any对象插入到这个Any对象中
-
extract_Object
public abstract Object extract_Object() throws BAD_OPERATION
提取org.omg.CORBA.Object在此Any对象value场。- 结果
-
org.omg.CORBA.Object存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含org.omg.CORBA.Object或value字段之外的其他对象尚未设置
-
insert_Object
public abstract void insert_Object(Object o)
将给定的org.omg.CORBA.Object对象插入到此Any对象的value字段中。- 参数
-
o- 将org.omg.CORBA.Object对象插入到这个Any对象中
-
extract_Value
public abstract Serializable extract_Value() throws BAD_OPERATION
在Any对象的value字段中提取java.io.Serializable对象。- 结果
-
java.io.Serializable对象存储在这个Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含Any对象以外的java.io.Serializable对象或value字段尚未设置
-
insert_Value
public abstract void insert_Value(Serializable v)
将给定的java.io.Serializable对象插入到此Any对象的value字段中。- 参数
-
v- 该java.io.Serializable对象插入到这个Any对象
-
insert_Value
public abstract void insert_Value(Serializable v, TypeCode t) throws MARSHAL
将给定的java.io.Serializable对象插入到此Any对象的value字段中。- 参数
-
v- 将java.io.Serializable对象插入到这个Any对象中 -
t-所述TypeCode对象,它是要插入到本Any对象的type字段和描述java.io.Serializable被插入对象 - 异常
-
MARSHAL- 如果ORB编组或解组参数有问题
-
insert_Object
public abstract void insert_Object(Object o, TypeCode t) throws BAD_PARAM
将给定的org.omg.CORBA.Object对象插入到此Any对象的value字段中。- 参数
-
o-org.omg.CORBA.Object实例插入到这个Any对象 -
t-所述TypeCode对象,它是将被插入到这个Any对象和描述该Object被插入 - 异常
-
BAD_OPERATION- 如果此方法对该Any对象无效 -
BAD_PARAM
-
extract_string
public abstract String extract_string() throws BAD_OPERATION
在此Any对象的value字段中提取String对象。- 结果
-
String对象存储在这个Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含一个String对象或value字段尚未设置的对象
-
insert_string
public abstract void insert_string(String s) throws DATA_CONVERSION, MARSHAL
将给定的String对象插入到此Any对象的value字段中。- 参数
-
s- 将String对象插入到这个Any对象中 - 异常
-
DATA_CONVERSION- 如果有数据转换错误 -
MARSHAL- 如果ORB编组或解组参数有问题
-
extract_wstring
public abstract String extract_wstring() throws BAD_OPERATION
在此Any对象的value字段中提取String对象。- 结果
-
String对象存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含Any对象以外的String对象或value字段尚未设置
-
insert_wstring
public abstract void insert_wstring(String s) throws MARSHAL
将给定的String对象插入到此Any对象的value字段中。- 参数
-
s- 将String对象插入到这个Any对象中 - 异常
-
MARSHAL- 如果ORB编组或解组参数有问题
-
extract_TypeCode
public abstract TypeCode extract_TypeCode() throws BAD_OPERATION
在Any对象的value字段中提取TypeCode对象。- 结果
-
TypeCode对象存储在这个Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含Any对象以外的TypeCode对象或value字段尚未设置
-
insert_TypeCode
public abstract void insert_TypeCode(TypeCode t)
将给定的TypeCode对象插入到此Any对象的value字段中。- 参数
-
t- 将TypeCode对象插入到这个Any对象中
-
extract_Principal
@Deprecated public Principal extract_Principal() throws BAD_OPERATION
已过时。 被CORBA弃用2.2。在此Any对象的value字段中提取Principal对象。 请注意,已经不推荐使用类别Principal。- 结果
-
Principal对象存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含一个Principal对象或value字段尚未设置的内容 - 另请参见:
-
CORBApackage comments for unimplemented features
-
insert_Principal
@Deprecated public void insert_Principal(Principal p)
已过时。 被CORBA弃用2.2。将给定的Principal对象插入到此Any对象的value字段中。 请注意,Principal已被弃用。- 参数
-
p-Principal对象插入到这个Any对象 - 另请参见:
-
CORBApackage comments for unimplemented features
-
extract_Streamable
public Streamable extract_Streamable() throws BAD_INV_ORDER
从此Any对象的value字段中提取一个Streamable。 该方法允许提取非原始IDL类型。- 结果
-
Streamable存储在Any对象中。 - 异常
-
BAD_INV_ORDER- 如果调用者以错误的顺序调用操作 - 另请参见:
-
CORBApackage comments for unimplemented features
-
insert_Streamable
public void insert_Streamable(Streamable s)
将给定的Streamable对象插入到此Any对象的value字段中。 该方法允许插入非原始IDL类型。- 参数
-
s- 将Streamable对象插入到这个Any对象中; 可能是非原始的IDL类型 - 另请参见:
-
CORBApackage comments for unimplemented features
-
extract_fixed
public BigDecimal extract_fixed()
在此Any对象的value字段中提取java.math.BigDecimal对象。- 结果
-
java.math.BigDecimal对象存储在此Any对象中 - 异常
-
BAD_OPERATION- 如果此Any对象包含Any对象以外的java.math.BigDecimal对象或value字段尚未设置 - 另请参见:
-
CORBApackage comments for unimplemented features
-
insert_fixed
public void insert_fixed(BigDecimal value)
抛出一个org.omg.CORBA.NO_IMPLEMENT例外。将给定的
java.math.BigDecimal对象插入到此Any对象的value字段中。- 参数
-
value- 将java.math.BigDecimal对象插入到这个Any对象中 - 另请参见:
-
CORBApackage comments for unimplemented features
-
insert_fixed
public void insert_fixed(BigDecimal value, TypeCode type) throws BAD_INV_ORDER
抛出一个org.omg.CORBA.NO_IMPLEMENT异常。将给定的
java.math.BigDecimal对象插入到此Any对象的value字段中。- 参数
-
value-java.math.BigDecimal对象插入到这个Any对象 -
type-所述TypeCode对象,它是要插入到本Any对象的type字段和描述java.math.BigDecimal被插入对象 - 异常
-
BAD_INV_ORDER- 如果这种方法被调用不当 - 另请参见:
-
CORBApackage comments for unimplemented features
-
-