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


Java RuntimePropertyInfo.id方法代码示例

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


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

示例1: isLeaf

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入方法依赖的package包/类
/**
 * Look for the case that can be optimized as a leaf,
 * which is a kind of type whose XML representation is just PCDATA.
 */
static boolean isLeaf(RuntimePropertyInfo info) {
    Collection<? extends RuntimeTypeInfo> types = info.ref();
    if(types.size()!=1)     return false;

    RuntimeTypeInfo rti = types.iterator().next();
    if(!(rti instanceof RuntimeNonElement)) return false;

    if(info.id()==ID.IDREF)
        // IDREF is always handled as leaf -- Transducer maps IDREF String back to an object
        return true;

    if(((RuntimeNonElement)rti).getTransducer()==null)
        // Transducer!=null means definitely binds to PCDATA.
        // even if transducer==null, a referene might be IDREF,
        // in which case it will still produce PCDATA in this reference.
        return false;

    if(!info.getIndividualType().equals(rti.getType()))
        return false;

    return true;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:27,代码来源:PropertyFactory.java

示例2: get

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入方法依赖的package包/类
/**
 * Gets the {@link TransducedAccessor} appropriately configured for
 * the given property.
 *
 * <p>
 * This allows the implementation to use an optimized code.
 */
public static <T> TransducedAccessor<T> get(JAXBContextImpl context, RuntimeNonElementRef ref) {
    Transducer xducer = RuntimeModelBuilder.createTransducer(ref);
    RuntimePropertyInfo prop = ref.getSource();

    if(prop.isCollection()) {
        return new ListTransducedAccessorImpl(xducer,prop.getAccessor(),
                Lister.create(Utils.REFLECTION_NAVIGATOR.erasure(prop.getRawType()), prop.id(), prop.getAdapter()));
    }

    if(prop.id()==ID.IDREF)
        return new IDREFTransducedAccessorImpl(prop.getAccessor());

    if(xducer.isDefault() && context != null && !context.fastBoot) {
        TransducedAccessor xa = OptimizedTransducedAccessorFactory.get(prop);
        if(xa!=null)    return xa;
    }

    if(xducer.useNamespace())
        return new CompositeContextDependentTransducedAccessorImpl( context, xducer, prop.getAccessor() );
    else
        return new CompositeTransducedAccessorImpl( context, xducer, prop.getAccessor() );
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:30,代码来源:TransducedAccessor.java

示例3: get

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入方法依赖的package包/类
/**
 * Gets the {@link TransducedAccessor} appropriately configured for
 * the given property.
 *
 * <p>
 * This allows the implementation to use an optimized code.
 */
public static <T> TransducedAccessor<T> get(JAXBContextImpl context, RuntimeNonElementRef ref) {
    Transducer xducer = RuntimeModelBuilder.createTransducer(ref);
    RuntimePropertyInfo prop = ref.getSource();

    if(prop.isCollection()) {
        return new ListTransducedAccessorImpl(xducer,prop.getAccessor(),
                Lister.create(Navigator.REFLECTION.erasure(prop.getRawType()),prop.id(),
                prop.getAdapter()));
    }

    if(prop.id()==ID.IDREF)
        return new IDREFTransducedAccessorImpl(prop.getAccessor());

    if(xducer.isDefault() && context != null && !context.fastBoot) {
        TransducedAccessor xa = OptimizedTransducedAccessorFactory.get(prop);
        if(xa!=null)    return xa;
    }

    if(xducer.useNamespace())
        return new CompositeContextDependentTransducedAccessorImpl( context, xducer, prop.getAccessor() );
    else
        return new CompositeTransducedAccessorImpl( context, xducer, prop.getAccessor() );
}
 
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:31,代码来源:TransducedAccessor.java

示例4: ClassBeanInfoImpl

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入方法依赖的package包/类
ClassBeanInfoImpl(JAXBContextImpl owner, RuntimeClassInfo ci) {
    super(owner,ci,ci.getClazz(),ci.getTypeName(),ci.isElement(),false,true);

    this.ci = ci;
    this.inheritedAttWildcard = ci.getAttributeWildcard();
    this.xducer = ci.getTransducer();
    this.factoryMethod = ci.getFactoryMethod();
    this.retainPropertyInfo = owner.retainPropertyInfo;

    // make the factory accessible
    if(factoryMethod!=null) {
        int classMod = factoryMethod.getDeclaringClass().getModifiers();

        if(!Modifier.isPublic(classMod) || !Modifier.isPublic(factoryMethod.getModifiers())) {
            // attempt to make it work even if the constructor is not accessible
            try {
                factoryMethod.setAccessible(true);
            } catch(SecurityException e) {
                // but if we don't have a permission to do so, work gracefully.
                logger.log(Level.FINE,"Unable to make the method of "+factoryMethod+" accessible",e);
                throw e;
            }
        }
    }


    if(ci.getBaseClass()==null)
        this.superClazz = null;
    else
        this.superClazz = owner.getOrCreate(ci.getBaseClass());

    if(superClazz!=null && superClazz.xmlLocatorField!=null)
        xmlLocatorField = superClazz.xmlLocatorField;
    else
        xmlLocatorField = ci.getLocatorField();

    // create property objects
    Collection<? extends RuntimePropertyInfo> ps = ci.getProperties();
    this.properties = new Property[ps.size()];
    int idx=0;
    boolean elementOnly = true;
    for( RuntimePropertyInfo info : ps ) {
        Property p = PropertyFactory.create(owner,info);
        if(info.id()==ID.ID)
            idProperty = p;
        properties[idx++] = p;
        elementOnly &= info.elementOnlyContent();
        checkOverrideProperties(p);
    }
    // super class' idProperty might not be computed at this point,
    // so check that later

    hasElementOnlyContentModel( elementOnly );
    // again update this value later when we know that of the super class

    if(ci.isElement())
        tagName = owner.nameBuilder.createElementName(ci.getElementName());
    else
        tagName = null;

    setLifecycleFlags();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:63,代码来源:ClassBeanInfoImpl.java


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