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

Java Adapter类代码示例

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

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



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

示例1: generateSwaRefAdapter

import com.sun.xml.internal.bind.v2.model.core.Adapter; //导入依赖的package包/类
/**
 * Examine the specified element ref and determine if a swaRef attribute needs to be generated
 */
private boolean generateSwaRefAdapter(PropertyInfo<T,C> prop) {
    final Adapter<T,C> adapter = prop.getAdapter();
    if (adapter == null) return false;
    final Object o = navigator.asDecl(SwaRefAdapter.class);
    if (o == null) return false;
    return (o.equals(adapter.adapterType));
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:XmlSchemaGenerator.java


示例2: RuntimeElementInfoImpl

import com.sun.xml.internal.bind.v2.model.core.Adapter; //导入依赖的package包/类
public RuntimeElementInfoImpl(RuntimeModelBuilder modelBuilder, RegistryInfoImpl registry, Method method) throws IllegalAnnotationException {
    super(modelBuilder, registry, method);

    Adapter<Type,Class> a = getProperty().getAdapter();

    if(a!=null)
        adapterType = a.adapterType;
    else
        adapterType = null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:RuntimeElementInfoImpl.java


示例3: create

import com.sun.xml.internal.bind.v2.model.core.Adapter; //导入依赖的package包/类
/**
 * Gets a reference to the appropriate {@link Lister} object
 * if the field is a multi-value field. Otherwise null.
 *
 * @param fieldType
 *      the type of the field that stores the collection
 * @param idness
 *      ID-ness of the property.
 * @param adapter
 *      adapter to be used for individual items. can be null.
 */
public static <BeanT,PropT,ItemT,PackT>
    Lister<BeanT,PropT,ItemT,PackT> create(Type fieldType,ID idness, Adapter<Type,Class> adapter) {

    Class rawType = (Class) Utils.REFLECTION_NAVIGATOR.erasure(fieldType);
    Class itemType;

    Lister l;
    if( rawType.isArray() ) {
        itemType = rawType.getComponentType();
        l = getArrayLister(itemType);
    } else
    if( Collection.class.isAssignableFrom(rawType) ) {
        Type bt = Utils.REFLECTION_NAVIGATOR.getBaseClass(fieldType,Collection.class);
        if(bt instanceof ParameterizedType)
            itemType = (Class) Utils.REFLECTION_NAVIGATOR.erasure(((ParameterizedType)bt).getActualTypeArguments()[0]);
        else
            itemType = Object.class;
        l = new CollectionLister(getImplClass(rawType));
    } else
        return null;

    if(idness==ID.IDREF)
        l = new IDREFS(l,itemType);

    if(adapter!=null)
        l = new AdaptedLister(l,adapter.adapterType);

    return l;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:41,代码来源:Lister.java


示例4: create

import com.sun.xml.internal.bind.v2.model.core.Adapter; //导入依赖的package包/类
/**
 * Gets a reference to the appropriate {@link Lister} object
 * if the field is a multi-value field. Otherwise null.
 *
 * @param fieldType
 *      the type of the field that stores the collection
 * @param idness
 *      ID-ness of the property.
 * @param adapter
 *      adapter to be used for individual items. can be null.
 */
public static <BeanT,PropT,ItemT,PackT>
    Lister<BeanT,PropT,ItemT,PackT> create(Type fieldType,ID idness, Adapter<Type,Class> adapter) {

    Class rawType = Navigator.REFLECTION.erasure(fieldType);
    Class itemType;

    Lister l;
    if( rawType.isArray() ) {
        itemType = rawType.getComponentType();
        l = getArrayLister(itemType);
    } else
    if( Collection.class.isAssignableFrom(rawType) ) {
        Type bt = Navigator.REFLECTION.getBaseClass(fieldType,Collection.class);
        if(bt instanceof ParameterizedType)
            itemType = Navigator.REFLECTION.erasure(((ParameterizedType)bt).getActualTypeArguments()[0]);
        else
            itemType = Object.class;
        l = new CollectionLister(getImplClass(rawType));
    } else
        return null;

    if(idness==ID.IDREF)
        l = new IDREFS(l,itemType);

    if(adapter!=null)
        l = new AdaptedLister(l,adapter.adapterType);

    return l;
}
 
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:41,代码来源:Lister.java


示例5: getAdapter

import com.sun.xml.internal.bind.v2.model.core.Adapter; //导入依赖的package包/类
public Adapter<T,C> getAdapter() {
    return adapter;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:4,代码来源:ElementInfoImpl.java


示例6: PropertyInfoImpl

import com.sun.xml.internal.bind.v2.model.core.Adapter; //导入依赖的package包/类
protected PropertyInfoImpl(ClassInfoImpl<T,C,F,M> parent, PropertySeed<T,C,F,M> spi) {
    this.seed = spi;
    this.parent = parent;

    if(parent==null)
        /*
            Various people reported a bug where this parameter is somehow null.
            In an attempt to catch the error better, let's do an explicit check here.

            http://forums.java.net/jive/thread.jspa?threadID=18479
            http://forums.java.net/jive/thread.jspa?messageID=165946
         */
        throw new AssertionError();

    MimeType mt = Util.calcExpectedMediaType(seed,parent.builder);
    if(mt!=null && !kind().canHaveXmlMimeType) {
        parent.builder.reportError(new IllegalAnnotationException(
            Messages.ILLEGAL_ANNOTATION.format(XmlMimeType.class.getName()),
            seed.readAnnotation(XmlMimeType.class)
        ));
        mt = null;
    }
    this.expectedMimeType = mt;
    this.inlineBinary = seed.hasAnnotation(XmlInlineBinaryData.class);

    T t = seed.getRawType();

    // check if there's an adapter applicable to the whole property
    XmlJavaTypeAdapter xjta = getApplicableAdapter(t);
    if(xjta!=null) {
        isCollection = false;
        adapter = new Adapter<T,C>(xjta,reader(),nav());
    } else {
        // check if the adapter is applicable to the individual item in the property

        this.isCollection = nav().isSubClassOf(t, nav().ref(Collection.class))
                         || nav().isArrayButNotByteArray(t);

        xjta = getApplicableAdapter(getIndividualType());
        if(xjta==null) {
            // ugly ugly hack, but we implement swaRef as adapter
            XmlAttachmentRef xsa = seed.readAnnotation(XmlAttachmentRef.class);
            if(xsa!=null) {
                parent.builder.hasSwaRef = true;
                adapter = new Adapter<T,C>(nav().asDecl(SwaRefAdapter.class),nav());
            } else {
                adapter = null;

                // if this field has adapter annotation but not applicable,
                // that must be an error of the user
                xjta = seed.readAnnotation(XmlJavaTypeAdapter.class);
                if(xjta!=null) {
                    T ad = reader().getClassValue(xjta,"value");
                    parent.builder.reportError(new IllegalAnnotationException(
                        Messages.UNMATCHABLE_ADAPTER.format(
                                nav().getTypeName(ad), nav().getTypeName(t)),
                        xjta
                    ));
                }
            }
        } else {
            adapter = new Adapter<T,C>(xjta,reader(),nav());
        }
    }

    this.id = calcId();
    this.schemaType = Util.calcSchemaType(reader(),seed,parent.clazz,
            getIndividualType(),this);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:70,代码来源:PropertyInfoImpl.java


示例7: adapt

import com.sun.xml.internal.bind.v2.model.core.Adapter; //导入依赖的package包/类
public final <T> Accessor<BeanT, T> adapt(Adapter<Type, Class> adapter) {
    return new AdaptedAccessor<BeanT, ValueT, T>(
            (Class<T>) Utils.REFLECTION_NAVIGATOR.erasure(adapter.defaultType),
            this,
            adapter.adapterType);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:7,代码来源:Accessor.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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