本文整理汇总了Java中com.sun.xml.internal.bind.v2.model.core.ID类的典型用法代码示例。如果您正苦于以下问题:Java ID类的具体用法?Java ID怎么用?Java ID使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ID类属于com.sun.xml.internal.bind.v2.model.core包,在下文中一共展示了ID类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: link
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
public void link() {
super.link();
if (!(NonElement.ANYTYPE_NAME.equals(type.getTypeName()) || type.isSimpleType() || id()==ID.IDREF)) {
parent.builder.reportError(new IllegalAnnotationException(
Messages.SIMPLE_TYPE_IS_REQUIRED.format(),
seed
));
}
if(!isCollection() && seed.hasAnnotation(XmlList.class)) {
parent.builder.reportError(new IllegalAnnotationException(
Messages.XMLLIST_ON_SINGLE_PROPERTY.format(), this
));
}
}
示例2: isLeaf
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的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;
}
示例3: get
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的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() );
}
示例4: canBeType
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
protected RawTypeSet.Mode canBeType(RawTypeSet parent) {
// if we have an adapter or IDness, which requires special
// annotation, and there's more than one element,
// we have no place to put the special annotation, so we need JAXBElement.
if((parent.refs.size()>1 || !parent.mul.isAtMostOnce()) && target.idUse()!=ID.NONE)
return RawTypeSet.Mode.MUST_BE_REFERENCE;
if(parent.refs.size() > 1 && target.getAdapterUse() != null)
return RawTypeSet.Mode.MUST_BE_REFERENCE;
// nillable and optional at the same time. needs an element wrapper to distinguish those
// two states. But this is not a hard requirement.
if(decl.isNillable() && parent.mul.isOptional())
return RawTypeSet.Mode.CAN_BE_TYPEREF;
return RawTypeSet.Mode.SHOULD_BE_TYPEREF;
}
示例5: get
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的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() );
}
示例6: calcId
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
private ID calcId() {
// TODO: share code with PropertyInfoImpl
if(reader().hasMethodAnnotation(XmlID.class,method)) {
return ID.ID;
} else
if(reader().hasMethodAnnotation(XmlIDREF.class,method)) {
return ID.IDREF;
} else {
return ID.NONE;
}
}
示例7: calcId
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
private ID calcId() {
if(seed.hasAnnotation(XmlID.class)) {
// check the type
if(!nav().isSameType(getIndividualType(), nav().ref(String.class)))
parent.builder.reportError(new IllegalAnnotationException(
Messages.ID_MUST_BE_STRING.format(getName()), seed )
);
return ID.ID;
} else
if(seed.hasAnnotation(XmlIDREF.class)) {
return ID.IDREF;
} else {
return ID.NONE;
}
}
示例8: link
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
/**
* Called after all the {@link TypeInfo}s are collected into the governing {@link TypeInfoSet}.
*
* Derived class can do additional actions to complete the model.
*/
protected void link() {
if(id==ID.IDREF) {
// make sure that the refereced type has ID
for (TypeInfo<T,C> ti : ref()) {
if(!ti.canBeReferencedByIDREF())
parent.builder.reportError(new IllegalAnnotationException(
Messages.INVALID_IDREF.format(
parent.builder.nav.getTypeName(ti.getType())), this ));
}
}
}
示例9: canBeReferencedByIDREF
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
/**
* A {@link ClassInfo} can be referenced by {@link XmlIDREF} if
* it has an ID property.
*/
public boolean canBeReferencedByIDREF() {
for (PropertyInfo<T,C> p : getProperties()) {
if(p.id()== ID.ID)
return true;
}
ClassInfoImpl<T,C,F,M> base = getBaseClass();
if(base!=null)
return base.canBeReferencedByIDREF();
else
return false;
}
示例10: create
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的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;
}
示例11: TypeUseImpl
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
public TypeUseImpl(CNonElement itemType, boolean collection, ID id, MimeType expectedMimeType, CAdapter adapter) {
this.coreType = itemType;
this.collection = collection;
this.id = id;
this.expectedMimeType = expectedMimeType;
this.adapter = adapter;
}
示例12: makeID
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
public static TypeUse makeID( TypeUse t, ID id ) {
if(t.idUse()!=ID.NONE)
// I don't think we let users tweak the idness, so
// this error must indicate an inconsistency within the RI/spec.
throw new IllegalStateException();
return new TypeUseImpl( t.getInfo(), t.isCollection(), id, t.getExpectedMimeType(), t.getAdapterUse() );
}
示例13: CElementPropertyInfo
import com.sun.xml.internal.bind.v2.model.core.ID; //导入依赖的package包/类
public CElementPropertyInfo(String name, CollectionMode collection, ID id, MimeType expectedMimeType, XSComponent source,
CCustomizations customizations, Locator locator, boolean required) {
super(name, collection.col, source, customizations, locator);
this.required = required;
this.id = id;
this.expectedMimeType = expectedMimeType;
this.isValueList = collection.val;
}