|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
org.omg.CORBA
类 Any
java.lang.Object org.omg.CORBA.Any
- 所有已实现的接口:
- Serializable, IDLEntity
充当可用 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
对象或将对象写入流中的方法。
- 从以下版本开始:
- JDK1.2
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
Any
public Any()
方法详细信息 |
---|
equal
public abstract boolean equal(Any a)
-
检查此
Any
对象与给定Any
对象是否相等。如果两个Any
对象的值和类型代码都相等,则这两个对象相等。 -
-
- 参数:
a
- 将测试其是否相等的Any
对象- 返回:
-
如果两个
Any
对象是相等的,则返回true
;否则返回false
- 另请参见:
CORBA
包中有关未实现特性的注释
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
- 为此Any
对象中的值提供信息的TypeCode
对象
read_value
public abstract void read_value(InputStream is, TypeCode t) throws MARSHAL
-
使用给定 typecode 读出(解组)给定输入流中某一
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
,然后对该OutputStream
使用write_any
。如果对
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
对象的值。 -
-
- 返回:
-
新创建的
InputStream