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


Java BoxedValueHelper类代码示例

本文整理汇总了Java中org.omg.CORBA.portable.BoxedValueHelper的典型用法代码示例。如果您正苦于以下问题:Java BoxedValueHelper类的具体用法?Java BoxedValueHelper怎么用?Java BoxedValueHelper使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


BoxedValueHelper类属于org.omg.CORBA.portable包,在下文中一共展示了BoxedValueHelper类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: writeIDLValue

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的package包/类
private void writeIDLValue(Serializable object, String repID)
{
    if (object instanceof StreamableValue) {
        ((StreamableValue)object)._write(parent);

    } else if (object instanceof CustomValue) {
        ((CustomValue)object).marshal(parent);

    } else {
        BoxedValueHelper helper = Utility.getHelper(object.getClass(), null, repID);
        boolean isCustom = false;
        if (helper instanceof ValueHelper && object instanceof CustomMarshal) {
            try {
                if (((ValueHelper)helper).get_type().type_modifier() == VM_CUSTOM.value)
                    isCustom = true;
            } catch(BadKind ex) {
                throw wrapper.badTypecodeForCustomValue( CompletionStatus.COMPLETED_MAYBE,
                    ex ) ;
            }
        }
        if (isCustom)
            ((CustomMarshal)object).marshal(parent);
        else
            helper.write_value(parent, object);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:27,代码来源:CDROutputStream_1_0.java

示例2: write

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的package包/类
/**
 * Write the value base into the given stream, supplementing it with an array
 * of the provided repository ids plus the repository id, derived from the
 * passed value.
 *
 * @param output a stream to write to.
 *
 * @param value a value to write.
 *
 * @throws MARSHAL if the writing failed due any reason.
 */
public static void write(OutputStream output, Serializable value,
  String[] multiple_ids)
{
  // Write null if this is a null value.
  if (value == null)
    output.write_long(vt_NULL);
  else
    {
      String[] ids = new String[multiple_ids.length + 1];
      ids[0] = ObjectCreator.getRepositoryId(value.getClass());
      System.arraycopy(multiple_ids, 0, ids, 1, multiple_ids.length);
      BoxedValueHelper h = getHelper(value.getClass(), ids);
      write_instance(output, value, ids, h);
    }
}
 
开发者ID:vilie,项目名称:javify,代码行数:27,代码来源:Vio.java

示例3: writeValue

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的package包/类
/**
 * Write value (after header).
 */
static void writeValue(OutputStream output, Serializable value,
  BoxedValueHelper helper)
{
  ((gnuValueStream) output).getRunTime().target = value;
  if (helper != null)
    helper.write_value(output, value);
  else if (!writeSelf(output, value))
    {
      // Try to find helper via class loader.
      boolean ok = false;

      if (!ok)
        {
          if (output instanceof BufferedCdrOutput)
            {
              BufferedCdrOutput b = (BufferedCdrOutput) output;
              if (b.runtime == null)
                b.runtime = new gnuRuntime(null, value);
            }

          handler.writeValue(output, value);
        }
    }
}
 
开发者ID:vilie,项目名称:javify,代码行数:28,代码来源:Vio.java

示例4: getHelper

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的package包/类
/**
 * Get the helper that could write the given object, or null if no pre-defined
 * helper available for this object.
 */
public static BoxedValueHelper getHelper(Class x, Object ids)
{
  if (x != null && x.equals(String.class))
    return m_StringValueHelper;
  else if (x != null && x.isArray())
    return new ArrayValueHelper(x);
  else if (ids instanceof String)
    return locateHelper((String) ids);
  else if (ids instanceof String[])
    {
      String[] ia = (String[]) ids;
      BoxedValueHelper h;
      for (int i = 0; i < ia.length; i++)
        {
          h = locateHelper(ia[i]);
          if (h != null)
            return h;
        }
      return null;
    }
  else
    return null;
}
 
开发者ID:vilie,项目名称:javify,代码行数:28,代码来源:Vio.java

示例5: write

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的package包/类
/**
 * Write the value base into the given stream, supplementing it with an array
 * of the provided repository ids plus the repository id, derived from the
 * passed value.
 * 
 * @param output a stream to write to.
 * 
 * @param value a value to write.
 * 
 * @throws MARSHAL if the writing failed due any reason.
 */
public static void write(OutputStream output, Serializable value,
  String[] multiple_ids)
{
  // Write null if this is a null value.
  if (value == null)
    output.write_long(vt_NULL);
  else
    {
      String[] ids = new String[multiple_ids.length + 1];
      ids[0] = ObjectCreator.getRepositoryId(value.getClass());
      System.arraycopy(multiple_ids, 0, ids, 1, multiple_ids.length);
      BoxedValueHelper h = getHelper(value.getClass(), ids);
      write_instance(output, value, ids, h);
    }
}
 
开发者ID:nmldiegues,项目名称:jvm-stm,代码行数:27,代码来源:Vio.java

示例6: readRepositoryIds

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的package包/类
/**
 * Examines the valuetag to see how many (if any) repository IDs
 * are present on the wire.  If no repository ID information
 * is on the wire but the expectedType or expectedTypeRepId
 * is known, it will return one of those (favoring the
 * expectedType's repId). Failing that, it uses the supplied
 * BoxedValueHelper to obtain the repository ID, as a last resort.
 */
private String readRepositoryIds(int valueTag,
                                 Class expectedType,
                                 String expectedTypeRepId,
                                 BoxedValueHelper factory) {
    switch(repIdUtil.getTypeInfo(valueTag)) {
        case RepositoryIdUtility.NO_TYPE_INFO :
            // Throw an exception if we have no repository ID info and
            // no expectedType to work with.  Otherwise, how would we
            // know what to unmarshal?
            if (expectedType == null) {
                if (expectedTypeRepId != null) {
                    return expectedTypeRepId;
                } else if (factory != null) {
                    return factory.get_id();
                } else {
                    throw wrapper.expectedTypeNullAndNoRepId(
                        CompletionStatus.COMPLETED_MAYBE);
                }
            }
            return repIdStrs.createForAnyType(expectedType);
        case RepositoryIdUtility.SINGLE_REP_TYPE_INFO :
            return read_repositoryId();
        case RepositoryIdUtility.PARTIAL_LIST_TYPE_INFO :
            return read_repositoryIds();
        default:
            throw wrapper.badValueTag( CompletionStatus.COMPLETED_MAYBE,
                Integer.toHexString(valueTag) ) ;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:38,代码来源:CDRInputStream_1_0.java

示例7: readIDLValue

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的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

示例8: getHelper

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的package包/类
/**
 * Get the helper for an IDLValue
 *
 * Throws MARSHAL exception if no helper found.
 */
public static BoxedValueHelper getHelper(Class clazz, String codebase,
    String repId)
{
    String className = null;
    if (clazz != null) {
        className = clazz.getName();
        if (codebase == null)
            codebase = Util.getCodebase(clazz);
    } else {
        if (repId != null)
            className = RepositoryId.cache.getId(repId).getClassName();
        if (className == null) // no repId or unrecognized repId
            throw wrapper.unableLocateValueHelper(
                CompletionStatus.COMPLETED_MAYBE);
    }

    try {
        ClassLoader clazzLoader =
            (clazz == null ? null : clazz.getClassLoader());
        Class helperClass =
            loadClassForClass(className+"Helper", codebase, clazzLoader,
            clazz, clazzLoader);
        return (BoxedValueHelper)helperClass.newInstance();

    } catch (ClassNotFoundException cnfe) {
        throw wrapper.unableLocateValueHelper( CompletionStatus.COMPLETED_MAYBE,
            cnfe );
    } catch (IllegalAccessException iae) {
        throw wrapper.unableLocateValueHelper( CompletionStatus.COMPLETED_MAYBE,
            iae );
    } catch (InstantiationException ie) {
        throw wrapper.unableLocateValueHelper( CompletionStatus.COMPLETED_MAYBE,
            ie );
    } catch (ClassCastException cce) {
        throw wrapper.unableLocateValueHelper( CompletionStatus.COMPLETED_MAYBE,
            cce );
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:44,代码来源:Utility.java

示例9: read_value

import org.omg.CORBA.portable.BoxedValueHelper; //导入依赖的package包/类
/**
 * Tries to read using boxed value helper.
 */
public Serializable read_value(BoxedValueHelper helper)
{
  if (subsequentCalls)
    return stream.read_value(helper);
  else
    {
      subsequentCalls = true;
      return helper.read_value(this);
    }
}
 
开发者ID:vilie,项目名称:javify,代码行数:14,代码来源:HeadlessInput.java


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