• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java RuntimePropertyInfo类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: getParametrizedTypes

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入依赖的package包/类
/**
 * Getting parametrized classes of {@code JAXBElement<...>} property
 * @param p property which parametrized types we will try to get
 * @return null - if it's not JAXBElement property, or it's not parametrized, and array of parametrized classes in other case
 */
private Class[] getParametrizedTypes(PropertyInfo p) {
    try {
        Type pType = ((RuntimePropertyInfo) p).getIndividualType();
        if (pType instanceof ParameterizedType) {
            ParameterizedType prmzdType = (ParameterizedType) pType;
            if (prmzdType.getRawType() == JAXBElement.class) {
                Type[] actualTypes = prmzdType.getActualTypeArguments();
                Class[] result = new Class[actualTypes.length];
                for (int i = 0; i < actualTypes.length; i++) {
                    result[i] = (Class) actualTypes[i];
                }
                return result;
            }
        }
    } catch (Exception e) {
        logger.log(Level.FINE, "Error in ModelBuilder.getParametrizedTypes. " + e.getMessage());
    }
    return null;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:25,代码来源:ModelBuilder.java


示例2: 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


示例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(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


示例4: 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


示例5: SingleTypePropertyInfoImpl

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入依赖的package包/类
public SingleTypePropertyInfoImpl(ClassInfoImpl<T,C,F,M> classInfo, PropertySeed<T,C,F,M> seed) {
    super(classInfo, seed);
    if(this instanceof RuntimePropertyInfo) {
        Accessor rawAcc = ((RuntimeClassInfoImpl.RuntimePropertySeed)seed).getAccessor();
        if(getAdapter()!=null && !isCollection())
            // adapter for a single-value property is handled by accessor.
            // adapter for a collection property is handled by lister.
            rawAcc = rawAcc.adapt(((RuntimePropertyInfo)this).getAdapter());
        this.acc = rawAcc;
    } else
        this.acc = null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:SingleTypePropertyInfoImpl.java


示例6: ArrayProperty

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入依赖的package包/类
protected ArrayProperty(JAXBContextImpl context, RuntimePropertyInfo prop) {
    super(context,prop);

    assert prop.isCollection();
    lister = Lister.create(
        Utils.REFLECTION_NAVIGATOR.erasure(prop.getRawType()),prop.id(),prop.getAdapter());
    assert lister!=null;
    acc = prop.getAccessor().optimize(context);
    assert acc!=null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:ArrayProperty.java


示例7: ArrayERProperty

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入依赖的package包/类
protected ArrayERProperty(JAXBContextImpl grammar, RuntimePropertyInfo prop, QName tagName, boolean isWrapperNillable) {
    super(grammar,prop);
    if(tagName==null)
        this.wrapperTagName = null;
    else
        this.wrapperTagName = grammar.nameBuilder.createElementName(tagName);
    this.isWrapperNillable = isWrapperNillable;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:ArrayERProperty.java


示例8: ArrayProperty

import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; //导入依赖的package包/类
protected ArrayProperty(JAXBContextImpl context, RuntimePropertyInfo prop) {
    super(context,prop);

    assert prop.isCollection();
    lister = Lister.create(
        Navigator.REFLECTION.erasure(prop.getRawType()),prop.id(),prop.getAdapter());
    assert lister!=null;
    acc = prop.getAccessor().optimize(context);
    assert acc!=null;
}
 
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:11,代码来源:ArrayProperty.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java OAuth2WebSecurityExpressionHandler类代码示例发布时间:2022-05-23
下一篇:
Java DirectUpdateHandler2类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap