本文整理汇总了Java中org.omg.CORBA.portable.ValueBase类的典型用法代码示例。如果您正苦于以下问题:Java ValueBase类的具体用法?Java ValueBase怎么用?Java ValueBase使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ValueBase类属于org.omg.CORBA.portable包,在下文中一共展示了ValueBase类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeValueBase
import org.omg.CORBA.portable.ValueBase; //导入依赖的package包/类
private void writeValueBase(org.omg.CORBA.portable.ValueBase object,
Class clazz) {
// _REVISIT_ could check to see whether chunking really needed
mustChunk = true;
// Write value_tag
int indirection = writeValueTag(true, true, Util.getCodebase(clazz));
// Get rep id
String repId = ((ValueBase)object)._truncatable_ids()[0];
// Write rep id
write_repositoryId(repId);
// Add indirection for object to indirection table
updateIndirectionTable(indirection, object, object);
// Write Value chunk
start_block();
end_flag--;
chunkedValueNestingLevel--;
writeIDLValue(object, repId);
end_block();
// Write end tag
writeEndTag(true);
}
示例2: readIDLValue
import org.omg.CORBA.portable.ValueBase; //导入依赖的package包/类
private java.lang.Object readIDLValue(int indirection, String repId,
Class clazz, String codebase)
{
ValueFactory factory ;
// Always try to find a ValueFactory first, as required by the spec.
// There are some complications here in the IDL 3.0 mapping (see 1.13.8),
// but basically we must always be able to override the DefaultFactory
// or Helper mappings that are also used. This appears to be the case
// even in the boxed value cases. The original code only did the lookup
// in the case of class implementing either StreamableValue or CustomValue,
// but abstract valuetypes only implement ValueBase, and really require
// the use of the repId to find a factory (including the DefaultFactory).
try {
// use new-style OBV support (factory object)
factory = Utility.getFactory(clazz, codebase, orb, repId);
} catch (MARSHAL marshal) {
// XXX log marshal at one of the INFO levels
// Could not get a factory, so try alternatives
if (!StreamableValue.class.isAssignableFrom(clazz) &&
!CustomValue.class.isAssignableFrom(clazz) &&
ValueBase.class.isAssignableFrom(clazz)) {
// use old-style OBV support (helper object)
BoxedValueHelper helper = Utility.getHelper(clazz, codebase, repId);
if (helper instanceof ValueHelper)
return readIDLValueWithHelper((ValueHelper)helper, indirection);
else
return helper.read_value(parent);
} else {
// must be a boxed IDLEntity, so make a reflective call to the
// helper's static read method...
return readBoxedIDLEntity(clazz, codebase);
}
}
// If there was no error in getting the factory, use it.
valueIndirection = indirection; // for callback
return factory.read_value(parent);
}
示例3: isAbstractBase
import org.omg.CORBA.portable.ValueBase; //导入依赖的package包/类
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
示例4: write_abstract_interface
import org.omg.CORBA.portable.ValueBase; //导入依赖的package包/类
/**
* Writes an abstract interface to the stream. An abstract interface can be
* eithe CORBA object or value type and is written as a union with the boolean
* discriminator (false for objects, true for value types).
*
* The object from value is separated by fact that all values implement the
* {@link ValueBase} interface. Also, the passed parameter is treated as value
* it it does not implement CORBA Object.
*
* @param an_interface an abstract interface to write.
*/
public void write_abstract_interface(java.lang.Object an_interface)
{
boolean isObject = !(an_interface instanceof ValueBase)
&& an_interface instanceof org.omg.CORBA.Object;
write_boolean(isObject);
if (isObject)
write_Object((org.omg.CORBA.Object) an_interface);
else
write_value((Serializable) an_interface);
}
示例5: getRepositoryId
import org.omg.CORBA.portable.ValueBase; //导入依赖的package包/类
/**
* Convert the class name to IDL or RMI name (repository id). If the class
* inherits from IDLEntity, ValueBase or SystemException, returns repository
* Id in the IDL:(..) form. If it does not, returns repository Id in the
* RMI:(..) form.
*
* @param cx the class for that the name must be computed.
*
* @return the idl or rmi name.
*/
public static synchronized String getRepositoryId(Class cx)
{
String name = (String) m_names.get(cx);
if (name != null)
return name;
String cn = cx.getName();
if (!(IDLEntity.class.isAssignableFrom(cx)
|| ValueBase.class.isAssignableFrom(cx) || SystemException.class.isAssignableFrom(cx)))
{
// Not an IDL entity.
name = Util.createValueHandler().getRMIRepositoryID(cx);
}
else
{
if (cn.startsWith(JAVA_PREFIX))
cn = OMG_PREFIX
+ cn.substring(JAVA_PREFIX.length()).replace('.', '/');
else if (cn.startsWith(CLASSPATH_PREFIX))
cn = OMG_PREFIX
+ cn.substring(CLASSPATH_PREFIX.length()).replace('.', '/');
name = "IDL:" + cn + ":1.0";
}
m_names.put(cx, name);
return name;
}
示例6: write_abstract_interface
import org.omg.CORBA.portable.ValueBase; //导入依赖的package包/类
/**
* Writes an abstract interface to the stream. An abstract interface can be
* eithe CORBA object or value type and is written as a union with the boolean
* discriminator (false for objects, true for value types).
*
* The object from value is separated by fact that all values implement the
* {@link ValueBase} interface. Also, the passed parameter is treated as value
* it it does not implement CORBA Object.
*
* @param an_interface an abstract interface to write.
*/
public void write_abstract_interface(java.lang.Object an_interface)
{
boolean isObject = !(an_interface instanceof ValueBase)
&& an_interface instanceof org.omg.CORBA.Object;
write_boolean(isObject);
if (isObject)
write_Object((org.omg.CORBA.Object) an_interface);
else
write_value((Serializable) an_interface);
}
示例7: getRepositoryId
import org.omg.CORBA.portable.ValueBase; //导入依赖的package包/类
/**
* Convert the class name to IDL or RMI name (repository id). If the class
* inherits from IDLEntity, ValueBase or SystemException, returns repository
* Id in the IDL:(..) form. If it does not, returns repository Id in the
* RMI:(..) form.
*
* @param cx the class for that the name must be computed.
*
* @return the idl or rmi name.
*/
public static synchronized String getRepositoryId(Class cx)
{
String name = (String) m_names.get(cx);
if (name != null)
return name;
String cn = cx.getName();
if (!(IDLEntity.class.isAssignableFrom(cx)
|| ValueBase.class.isAssignableFrom(cx) || SystemException.class.isAssignableFrom(cx)))
{
// Not an IDL entity.
name = Util.createValueHandler().getRMIRepositoryID(cx);
}
else
{
if (cn.startsWith(JAVA_PREFIX))
cn = OMG_PREFIX
+ cn.substring(JAVA_PREFIX.length()).replace('.', '/');
else if (cn.startsWith(CLASSPATH_PREFIX))
cn = OMG_PREFIX
+ cn.substring(CLASSPATH_PREFIX.length()).replace('.', '/');
name = "IDL:" + cn + ":1.0";
}
m_names.put(cx, name);
return name;
}