- 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 InputStream
create_input_stream()
创建一个输入流,从中可以Any
此Any
对象的值。abstract OutputStream
create_output_stream()
创建一个可以编组Any
对象的值的输出流。abstract boolean
equal(Any a)
检查此Any
对象与给定的Any
对象之间是否相等。abstract Any
extract_any()
在此Any
对象的value
字段中提取Any
对象。abstract boolean
extract_boolean()
提取boolean
在此Any
对象value
场。abstract char
extract_char()
提取char
在此Any
对象value
场。abstract double
extract_double()
提取double
在此Any
对象value
场。BigDecimal
extract_fixed()
在此Any
对象的value
字段中提取java.math.BigDecimal
对象。abstract float
extract_float()
提取float
在此Any
对象value
场。abstract int
extract_long()
提取int
在此Any
对象value
场。abstract long
extract_longlong()
提取long
在此Any
对象value
场。abstract Object
extract_Object()
提取org.omg.CORBA.Object
在此Any
对象value
场。abstract byte
extract_octet()
提取byte
在此Any
对象value
场。Principal
extract_Principal()
已过时。被CORBA弃用2.2。abstract short
extract_short()
提取short
在此Any
对象value
场。Streamable
extract_Streamable()
从此Any
对象的value
字段中提取一个Streamable
。abstract String
extract_string()
提取String
在这个对象Any
对象value
场。abstract TypeCode
extract_TypeCode()
提取TypeCode
在这个对象Any
对象value
场。abstract int
extract_ulong()
提取int
在此Any
对象value
场。abstract long
extract_ulonglong()
提取long
在此Any
对象value
场。abstract short
extract_ushort()
提取short
在此Any
对象value
场。abstract Serializable
extract_Value()
在此Any
对象的value
字段中提取java.io.Serializable
对象。abstract char
extract_wchar()
提取char
在此Any
对象value
场。abstract String
extract_wstring()
提取String
在这个对象Any
对象value
场。abstract void
insert_any(Any a)
将给定的Any
对象插入到此Any
对象的value
字段中。abstract void
insert_boolean(boolean b)
将给定的boolean
插入到这个Any
对象的value
字段中。abstract void
insert_char(char c)
将给定的char
插入此Any
对象的value
字段。abstract void
insert_double(double d)
将给定的double
插入到这个Any
对象的value
字段中。void
insert_fixed(BigDecimal value)
抛出一个org.omg.CORBA.NO_IMPLEMENT
例外。void
insert_fixed(BigDecimal value, TypeCode type)
抛出一个org.omg.CORBA.NO_IMPLEMENT
异常。abstract void
insert_float(float f)
将给定的float
插入到此Any
对象的value
字段中。abstract void
insert_long(int l)
将给定的int
插入到这个Any
对象的value
字段中。abstract void
insert_longlong(long l)
将给定的long
插入此Any
对象的value
字段。abstract void
insert_Object(Object o)
将给定的org.omg.CORBA.Object
对象插入到此Any
对象的value
字段中。abstract void
insert_Object(Object o, TypeCode t)
将给定的org.omg.CORBA.Object
对象插入到此Any
对象的value
字段中。abstract void
insert_octet(byte b)
将给定的byte
插入到这个Any
对象的value
字段中。void
insert_Principal(Principal p)
已过时。被CORBA弃用2.2。abstract void
insert_short(short s)
将给定的short
插入此Any
对象的value
字段。void
insert_Streamable(Streamable s)
将给定的Streamable
对象插入到此Any
对象的value
字段中。abstract void
insert_string(String s)
将给定的String
对象插入到此Any
对象的value
字段中。abstract void
insert_TypeCode(TypeCode t)
将给定的TypeCode
对象插入到此Any
对象的value
字段中。abstract void
insert_ulong(int l)
将给定的int
插入到此Any
对象的value
字段中。abstract void
insert_ulonglong(long l)
将给定的long
插入此Any
对象的value
字段。abstract void
insert_ushort(short s)
将给定的short
插入Any
对象的value
字段。abstract void
insert_Value(Serializable v)
将给定的java.io.Serializable
对象插入到此Any
对象的value
字段中。abstract void
insert_Value(Serializable v, TypeCode t)
将给定的java.io.Serializable
对象插入到此Any
对象的value
字段中。abstract void
insert_wchar(char c)
将给定的char
插入到这个Any
对象的value
字段中。abstract void
insert_wstring(String s)
将给定的String
对象插入到此Any
对象的value
字段中。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
对象的值写入给定的输出流。
-
-
-
方法详细信息
-
equal
public abstract boolean equal(Any a)
检查此Any
对象与给定的Any
对象之间是否相等。 如果两个Any
对象的值和类型代码相等,则它们是相等的。- 参数
-
a
-Any
对象测试相等 - 结果
-
true
如果Any
对象相等; 否则为false
- 另请参见:
-
CORBA
package 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
字段尚未设置的内容 - 另请参见:
-
CORBA
package comments for unimplemented features
-
insert_Principal
@Deprecated public void insert_Principal(Principal p)
已过时。 被CORBA弃用2.2。将给定的Principal
对象插入到此Any
对象的value
字段中。 请注意,Principal
已被弃用。- 参数
-
p
-Principal
对象插入到这个Any
对象 - 另请参见:
-
CORBA
package comments for unimplemented features
-
extract_Streamable
public Streamable extract_Streamable() throws BAD_INV_ORDER
从此Any
对象的value
字段中提取一个Streamable
。 该方法允许提取非原始IDL类型。- 结果
-
Streamable
存储在Any
对象中。 - 异常
-
BAD_INV_ORDER
- 如果调用者以错误的顺序调用操作 - 另请参见:
-
CORBA
package comments for unimplemented features
-
insert_Streamable
public void insert_Streamable(Streamable s)
将给定的Streamable
对象插入到此Any
对象的value
字段中。 该方法允许插入非原始IDL类型。- 参数
-
s
- 将Streamable
对象插入到这个Any
对象中; 可能是非原始的IDL类型 - 另请参见:
-
CORBA
package 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
字段尚未设置 - 另请参见:
-
CORBA
package 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
对象中 - 另请参见:
-
CORBA
package 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
- 如果这种方法被调用不当 - 另请参见:
-
CORBA
package comments for unimplemented features
-
-