java.lang.Object org.omg.CORBA.Any
充当可用 IDL 描述的任何数据或任何 IDL 基本类型的容器。Any
对象可用作 NamedValue
对象的组件,NamedValue 对象提供关于请求中的参数或返回值的信息,也用来定义 Context
对象中的名称/值对。
Any
对象由两部分组成:
Any
对象中所包含数据值类型的 TypeCode
对象。例如,用于数组的 TypeCode
对象包含一个用于数组长度的字段和一个用于数组中元素类型的字段。(注意,在这种情况下,TypeCode
对象的第二个字段本身也是一个 TypeCode
对象。) 大部分 Any
类由以下方法对组成:将值插入 Any
对象的方法和从 Any
对象中析取值的方法。
对于每种基本 IDL 数据类型,存在不同的方法对(insert_long
和 extract_long
、insert_string
和 extract_string
,等等)。
Any
类还拥有用于获取和设置类型代码的方法、用于测试两个 Any
对象是否相等的方法,以及用于从流中读取 Any
对象或将对象写入流中的方法。
构造方法摘要 | |
---|---|
Any() |
方法摘要 | |
---|---|
abstract InputStream |
create_input_stream() 创建一个输入流,可以从中解组此 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() 提取此 Any 对象 value 字段中的 boolean 值。 |
abstract char |
extract_char() 提取此 Any 对象 value 字段中的 char 值。 |
abstract double |
extract_double() 提取此 Any 对象 value 字段中的 double 值。 |
BigDecimal |
extract_fixed() 提取此 Any 对象 value 字段中的 java.math.BigDecimal 对象。 |
abstract float |
extract_float() 提取此 Any 对象 value 字段中的 float 值。 |
abstract int |
extract_long() 提取此 Any 对象 value 字段中的 int 值。 |
abstract long |
extract_longlong() 提取此 Any 对象 value 字段中的 long 值。 |
abstract Object |
extract_Object() 提取此 Any 对象 value 字段中的 org.omg.CORBA.Object 。 |
abstract byte |
extract_octet() 提取此 Any 对象 value 字段中的 byte 值。 |
Principal |
extract_Principal() 已过时。 由 CORBA 2.2 取代。 |
abstract short |
extract_short() 提取此 Any 对象 value 字段中的 short 值。 |
Streamable |
extract_Streamable() 从此 Any 对象的 value 字段提取 Streamable 。 |
abstract String |
extract_string() 提取此 Any 对象 value 字段中的 String 对象。 |
abstract TypeCode |
extract_TypeCode() 提取此 Any 对象 value 字段中的 TypeCode 对象。 |
abstract int |
extract_ulong() 提取此 Any 对象 value 字段中的 int 值。 |
abstract long |
extract_ulonglong() 提取此 Any 对象 value 字段中的 long 值。 |
abstract short |
extract_ushort() 提取此 Any 对象 value 字段中的 short 值。 |
abstract Serializable |
extract_Value() 提取此 Any 对象 value 字段中的 java.io.Serializable 对象。 |
abstract char |
extract_wchar() 提取此 Any 对象 value 字段中的 char 值。 |
abstract String |
extract_wstring() 提取此 Any 对象 value 字段中的 String 对象。 |
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) 使用给定 typecode 读出(解组)给定输入流中某一 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 |
构造方法详细信息 |
---|
public Any()
方法详细信息 |
---|
public abstract boolean equal(Any a)
Any
对象与给定
Any
对象是否相等。如果两个
Any
对象的值和类型代码都相等,则这两个对象相等。
a
- 将测试其是否相等的
Any
对象
Any
对象是相等的,则返回
true
;否则返回
false
CORBA
包中有关未实现特性的注释
public abstract TypeCode type()
Any
对象中所包含元素的类型信息。
TypeCode
对象,它包含关于此
Any
对象中所包含值的类型信息。
public abstract void type(TypeCode t)
Any
对象的
type
字段设置为给定的
TypeCode
对象,并清除其值。
注意,使用此方法设置类型代码会清除值(如果有)。提供该方法主要是为了能够为 IDL out
参数正确地设置类型。通常,设置类型由 insert_X
方法完成,如果类型没有被设置为 X,则该方法会将它设置为 X。
t
- 为此
Any
对象中的值提供信息的
TypeCode
对象
public abstract void read_value(InputStream is, TypeCode t) throws MARSHAL
Any
对象的值。
is
-
org.omg.CORBA.portable.InputStream
对象,从其中读取此
Any
对象中所包含的值
t
- 一个
TypeCode
对象,它包含关于要读取的值的类型信息
MARSHAL
- 当给定
TypeCode
对象与输入流中包含的值不一致时
public abstract void write_value(OutputStream os)
Any
对象的值写出到给定输出流。如果
typecode
和
value
都需要写入,则先使用
create_output_stream()
创建一个
OutputStream
,然后对该
OutputStream
使用
write_any
。
如果对 Any
对象调用此方法,而该对象没有将某个值插入其 value
字段,则将抛出异常 java.lang.NullPointerException
。
os
-
org.omg.CORBA.portable.OutputStream
对象,此
Any
对象的值将被编组到其中
public abstract OutputStream create_output_stream()
Any
对象的值编组到其中。
OutputStream
public abstract InputStream create_input_stream()
Any
对象的值。
InputStream
public abstract short extract_short() throws BAD_OPERATION
Any
对象
value
字段中的
short
值。
Any
对象中的
short
值
BAD_OPERATION
- 如果此
Any
对象包含
short
以外的值,或者尚未设置
value
字段
public abstract void insert_short(short s)
short
值插入此
Any
对象的
value
字段。
s
- 将插入此
Any
对象中的
short
值
public abstract int extract_long() throws BAD_OPERATION
Any
对象
value
字段中的
int
值。
Any
对象中的
int
值
BAD_OPERATION
- 如果此
Any
对象包含
int
以外的值,或者尚未设置
value
字段
public abstract void insert_long(int l)
int
值插入此
Any
对象的
value
字段。
l
- 将插入此
Any
对象中的
int
值
public abstract long extract_longlong() throws BAD_OPERATION
Any
对象
value
字段中的
long
值。
Any
对象中的
long
值
BAD_OPERATION
- 如果此
Any
对象包含
long
以外的值,或者尚未设置
value
字段
public abstract void insert_longlong(long l)
long
值插入此
Any
对象的
value
字段。
l
- 将插入此
Any
对象中的
long
值
public abstract short extract_ushort() throws BAD_OPERATION
Any
对象
value
字段中的
short
值。
Any
对象中的
short
值
BAD_OPERATION
- 如果此
Any
对象包含
short
以外的值,或者尚未设置
value
字段
public abstract void insert_ushort(short s)
short
值插入此
Any
对象的
value
字段。
s
- 将插入此
Any
对象中的
short
值
public abstract int extract_ulong() throws BAD_OPERATION
Any
对象
value
字段中的
int
值。
Any
对象中的
int
值
BAD_OPERATION
- 如果此
Any
对象包含
int
以外的值,或者尚未设置
value
字段
public abstract void insert_ulong(int l)
int
值插入此
Any
对象的
value
字段。
l
- 将插入此
Any
对象中的
int
值
public abstract long extract_ulonglong() throws BAD_OPERATION
Any
对象
value
字段中的
long
值。
Any
对象中的
long
值
BAD_OPERATION
- 如果此
Any
对象包含
long
以外的值,或者尚未设置
value
字段
public abstract void insert_ulonglong(long l)
long
值插入此
Any
对象的
value
字段。
l
- 将插入此
Any
对象中的
long
值
public abstract float extract_float() throws BAD_OPERATION
Any
对象
value
字段中的
float
值。
Any
对象中的
float
值
BAD_OPERATION
- 如果此
Any
对象包含
float
以外的值,或者尚未设置
value
字段
public abstract void insert_float(float f)
float
值插入此
Any
对象的
value
字段。
f
- 将插入此
Any
对象中的
float
值
public abstract double extract_double() throws BAD_OPERATION
Any
对象
value
字段中的
double
值。
Any
对象中的
double
值
BAD_OPERATION
- 如果此
Any
对象包含
double
以外的值,或者尚未设置
value
字段
public abstract void insert_double(double d)
double
值插入此
Any
对象的
value
字段。
d
- 将插入此
Any
对象中的
double
值
public abstract boolean extract_boolean() throws BAD_OPERATION
Any
对象
value
字段中的
boolean
值。
Any
对象中的
boolean
值
BAD_OPERATION
- 如果此
Any
对象包含
boolean
以外的值,或者尚未设置
value
字段
public abstract void insert_boolean(boolean b)
boolean
值插入此
Any
对象的
value
字段。
b
- 将插入此
Any
对象中的
boolean
值
public abstract char extract_char() throws BAD_OPERATION
Any
对象
value
字段中的
char
值。
Any
对象中的
char
值
BAD_OPERATION
- 如果此
Any
对象包含
char
以外的值,或者尚未设置
value
字段
public abstract void insert_char(char c) throws DATA_CONVERSION
char
值插入此
Any
对象的
value
字段。
c
- 将插入此
Any
对象中的
char
值
DATA_CONVERSION
- 如果存在数据转换错误
public abstract char extract_wchar() throws BAD_OPERATION
Any
对象
value
字段中的
char
值。
Any
对象中的
char
值
BAD_OPERATION
- 如果此
Any
对象包含
char
以外的值,或者尚未设置
value
字段
public abstract void insert_wchar(char c)
char
值插入此
Any
对象的
value
字段。
c
- 将插入此
Any
对象中的
char
值
public abstract byte extract_octet() throws BAD_OPERATION
Any
对象
value
字段中的
byte
值。
Any
对象中的
byte
值
BAD_OPERATION
- 如果此
Any
对象包含
byte
以外的值,或者尚未设置
value
字段
public abstract void insert_octet(byte b)
byte
值插入此
Any
对象的
value
字段。
b
- 将插入此
Any
对象中的
byte
值
public abstract Any extract_any() throws BAD_OPERATION
Any
对象
value
字段中的
Any
对象。
Any
对象中的
Any
对象
BAD_OPERATION
- 如果此
Any
对象包含
Any
以外的对象,或者尚未设置
value
字段
public abstract void insert_any(Any a)
Any
对象插入此
Any
对象的
value
字段。
a
- 将插入此
Any
对象中的
Any
对象
public abstract Object extract_Object() throws BAD_OPERATION
Any
对象
value
字段中的
org.omg.CORBA.Object
。
Any
对象中的
org.omg.CORBA.Object
BAD_OPERATION
- 如果此
Any
对象包含
org.omg.CORBA.Object
以外的其他对象,或者尚未设置
value
字段
public abstract void insert_Object(Object o)
org.omg.CORBA.Object
对象插入此
Any
对象的
value
字段。
o
- 将插入此
Any
对象中的
org.omg.CORBA.Object
对象
public abstract Serializable extract_Value() throws BAD_OPERATION
Any
对象
value
字段中的
java.io.Serializable
对象。
Any
对象中的
java.io.Serializable
对象
BAD_OPERATION
- 如果此
Any
对象包含
java.io.Serializable
以外的对象,或者尚未设置
value
字段
public abstract void insert_Value(Serializable v)
java.io.Serializable
对象插入此
Any
对象的
value
字段。
v
- 将插入此
Any
对象中的
java.io.Serializable
对象
public abstract void insert_Value(Serializable v, TypeCode t) throws MARSHAL
java.io.Serializable
对象插入此
Any
对象的
value
字段。
v
- 将插入此
Any
对象中的
java.io.Serializable
对象
t
- 将插入此