下面列出了怎么用org.omg.CORBA.portable.ValueBase的API类实例代码及写法,或者点击链接到github查看源代码。
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}
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);
}
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);
}
public static boolean isAbstractBase(Class clazz) {
return (clazz.isInterface() &&
IDLEntity.class.isAssignableFrom(clazz) &&
(!ValueBase.class.isAssignableFrom(clazz)) &&
(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));
}