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