当前位置: 首页>>代码示例>>Java>>正文


Java ValueBase类代码示例

本文整理汇总了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);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:28,代码来源:CDROutputStream_1_0.java

示例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);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:41,代码来源:CDRInputStream_1_0.java

示例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)));

}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:8,代码来源:RepositoryId.java

示例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);

}
 
开发者ID:vilie,项目名称:javify,代码行数:25,代码来源:OutputStream.java

示例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;
}
 
开发者ID:vilie,项目名称:javify,代码行数:38,代码来源:ObjectCreator.java

示例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);

}
 
开发者ID:nmldiegues,项目名称:jvm-stm,代码行数:25,代码来源:OutputStream.java

示例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;
}
 
开发者ID:nmldiegues,项目名称:jvm-stm,代码行数:38,代码来源:ObjectCreator.java


注:本文中的org.omg.CORBA.portable.ValueBase类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。