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


Java RuntimeUtil类代码示例

本文整理汇总了Java中com.sun.xml.internal.bind.v2.runtime.RuntimeUtil的典型用法代码示例。如果您正苦于以下问题:Java RuntimeUtil类的具体用法?Java RuntimeUtil怎么用?Java RuntimeUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: TypeInfoSetImpl

import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil; //导入依赖的package包/类
public TypeInfoSetImpl(Navigator<T,C,F,M> nav,
                       AnnotationReader<T,C,F,M> reader,
                       Map<T,? extends BuiltinLeafInfoImpl<T,C>> leaves) {
    this.nav = nav;
    this.reader = reader;
    this.builtins.putAll(leaves);

    this.anyType = createAnyType();

    // register primitive types.
    for (Map.Entry<Class, Class> e : RuntimeUtil.primitiveToBox.entrySet()) {
        this.builtins.put( nav.getPrimitive(e.getKey()), leaves.get(nav.ref(e.getValue())) );
    }

    // make sure at lease we got a map for global ones.
    elementMappings.put(null,new LinkedHashMap<QName,ElementInfoImpl<T,C,F,M>>());
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:18,代码来源:TypeInfoSetImpl.java

示例2: ArrayElementProperty

import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil; //导入依赖的package包/类
protected ArrayElementProperty(JAXBContextImpl grammar, RuntimeElementPropertyInfo prop) {
    super(grammar, prop, prop.getXmlName(), prop.isCollectionNillable());
    this.prop = prop;

    List<? extends RuntimeTypeRef> types = prop.getTypes();

    Name n = null;

    for (RuntimeTypeRef typeRef : types) {
        Class type = (Class)typeRef.getTarget().getType();
        if(type.isPrimitive())
            type = RuntimeUtil.primitiveToBox.get(type);

        JaxBeanInfo beanInfo = grammar.getOrCreate(typeRef.getTarget());
        TagAndType tt = new TagAndType(
                            grammar.nameBuilder.createElementName(typeRef.getTagName()),
                            beanInfo);
        typeMap.put(type,tt);
        refs.put(typeRef,beanInfo);
        if(typeRef.isNillable() && n==null)
            n = tt.tagName;
    }

    nillableTagName = n;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:26,代码来源:ArrayElementProperty.java

示例3: get

import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil; //导入依赖的package包/类
/**
 * Gets the optimizd {@link Accessor} that accesses the given field.
 *
 * @return null
 *      if for some reason it fails to create an optimized version.
 */
public static final <B,V> Accessor<B,V> get(Field field) {
    int mods = field.getModifiers();
    if(Modifier.isPrivate(mods) || Modifier.isFinal(mods))
        // we can't access private fields
        return null;

    String newClassName = toVMClassName(field.getDeclaringClass())+"$JaxbAccessorF_"+field.getName();

    Class opt;

    if(field.getType().isPrimitive())
        opt = AccessorInjector.prepare( field.getDeclaringClass(),
            fieldTemplateName+RuntimeUtil.primitiveToBox.get(field.getType()).getSimpleName(),
            newClassName,
            toVMClassName(Bean.class),
            toVMClassName(field.getDeclaringClass()),
            "f_"+field.getType().getName(),
            field.getName() );
    else
        opt = AccessorInjector.prepare( field.getDeclaringClass(),
            fieldTemplateName+"Ref",
            newClassName,
            toVMClassName(Bean.class),
            toVMClassName(field.getDeclaringClass()),
            toVMClassName(Ref.class),
            toVMClassName(field.getType()),
            toVMTypeName(Ref.class),
            toVMTypeName(field.getType()),
            "f_ref",
            field.getName() );

    if(opt==null)
        return null;

    Accessor<B,V> acc = instanciate(opt);
    if(acc!=null)
        logger.log(Level.FINE,"Using optimized Accessor for "+field);
    return acc;
}
 
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:46,代码来源:OptimizedAccessorFactory.java

示例4: get

import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil; //导入依赖的package包/类
/**
 * Gets the optimized {@link Accessor} that accesses the given getter/setter.
 *
 * @return null
 *      if for some reason it fails to create an optimized version.
 */
public static final <B,V> Accessor<B,V> get(Method getter, Method setter) {
    // make sure the method signatures are what we expect
    if(getter.getParameterTypes().length!=0)
        return null;
    Class<?>[] sparams = setter.getParameterTypes();
    if(sparams.length!=1)
        return null;
    if(sparams[0]!=getter.getReturnType())
        return null;
    if(setter.getReturnType()!=Void.TYPE)
        return null;
    if(getter.getDeclaringClass()!=setter.getDeclaringClass())
        return null;
    if(Modifier.isPrivate(getter.getModifiers()) || Modifier.isPrivate(setter.getModifiers()))
        // we can't access private fields
        return null;

    Class t = sparams[0];
    String typeName = t.getName().replace('.','_');
    if (t.isArray()) {
        typeName = "AOf_";
        String compName = t.getComponentType().getName().replace('.','_');
        while (compName.startsWith("[L")) {
            compName = compName.substring(2);
            typeName += "AOf_";
        }
        typeName = typeName + compName;
    }

    String newClassName = toVMClassName(getter.getDeclaringClass())+"$JaxbAccessorM_"+getter.getName()+'_'+setter.getName()+'_'+typeName;
    Class opt;

    if(t.isPrimitive())
        opt = AccessorInjector.prepare( getter.getDeclaringClass(),
            methodTemplateName+RuntimeUtil.primitiveToBox.get(t).getSimpleName(),
            newClassName,
            toVMClassName(Bean.class),
            toVMClassName(getter.getDeclaringClass()),
            "get_"+t.getName(),
            getter.getName(),
            "set_"+t.getName(),
            setter.getName());
    else
        opt = AccessorInjector.prepare( getter.getDeclaringClass(),
            methodTemplateName+"Ref",
            newClassName,
            toVMClassName(Bean.class),
            toVMClassName(getter.getDeclaringClass()),
            toVMClassName(Ref.class),
            toVMClassName(t),
            "()"+toVMTypeName(Ref.class),
            "()"+toVMTypeName(t),
            '('+toVMTypeName(Ref.class)+")V",
            '('+toVMTypeName(t)+")V",
            "get_ref",
            getter.getName(),
            "set_ref",
            setter.getName());

    if(opt==null)
        return null;

    Accessor<B,V> acc = instanciate(opt);
    if (acc!=null) {
        if (logger.isLoggable(Level.FINE)) {
            logger.log(Level.FINE, "Using optimized Accessor for {0} and {1}", new Object[]{getter, setter});
        }
    }
    return acc;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:77,代码来源:OptimizedAccessorFactory.java


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