本文整理汇总了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;未经允许,请勿转载。 |
请发表评论