java.lang.Objectorg.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 - 将插入此