本文整理汇总了Java中com.sun.xml.internal.bind.v2.runtime.RuntimeUtil类的典型用法代码示例。如果您正苦于以下问题:Java RuntimeUtil类的具体用法?Java RuntimeUtil怎么用?Java RuntimeUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RuntimeUtil类属于com.sun.xml.internal.bind.v2.runtime包,在下文中一共展示了RuntimeUtil类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: TypeInfoSetImpl
import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil; //导入依赖的package包/类
public TypeInfoSetImpl(Navigator<T,C,F,M> nav,
AnnotationReader<T,C,F,M> reader,
Map<T,? extends BuiltinLeafInfoImpl<T,C>> leaves) {
this.nav = nav;
this.reader = reader;
this.builtins.putAll(leaves);
this.anyType = createAnyType();
// register primitive types.
for (Map.Entry<Class, Class> e : RuntimeUtil.primitiveToBox.entrySet()) {
this.builtins.put( nav.getPrimitive(e.getKey()), leaves.get(nav.ref(e.getValue())) );
}
// make sure at lease we got a map for global ones.
elementMappings.put(null,new LinkedHashMap<QName,ElementInfoImpl<T,C,F,M>>());
}
示例2: ArrayElementProperty
import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil; //导入依赖的package包/类
protected ArrayElementProperty(JAXBContextImpl grammar, RuntimeElementPropertyInfo prop) {
super(grammar, prop, prop.getXmlName(), prop.isCollectionNillable());
this.prop = prop;
List<? extends RuntimeTypeRef> types = prop.getTypes();
Name n = null;
for (RuntimeTypeRef typeRef : types) {
Class type = (Class)typeRef.getTarget().getType();
if(type.isPrimitive())
type = RuntimeUtil.primitiveToBox.get(type);
JaxBeanInfo beanInfo = grammar.getOrCreate(typeRef.getTarget());
TagAndType tt = new TagAndType(
grammar.nameBuilder.createElementName(typeRef.getTagName()),
beanInfo);
typeMap.put(type,tt);
refs.put(typeRef,beanInfo);
if(typeRef.isNillable() && n==null)
n = tt.tagName;
}
nillableTagName = n;
}
示例3: get
import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil; //导入依赖的package包/类
/**
* Gets the optimizd {@link Accessor} that accesses the given field.
*
* @return null
* if for some reason it fails to create an optimized version.
*/
public static final <B,V> Accessor<B,V> get(Field field) {
int mods = field.getModifiers();
if(Modifier.isPrivate(mods) || Modifier.isFinal(mods))
// we can't access private fields
return null;
String newClassName = toVMClassName(field.getDeclaringClass())+"$JaxbAccessorF_"+field.getName();
Class opt;
if(field.getType().isPrimitive())
opt = AccessorInjector.prepare( field.getDeclaringClass(),
fieldTemplateName+RuntimeUtil.primitiveToBox.get(field.getType()).getSimpleName(),
newClassName,
toVMClassName(Bean.class),
toVMClassName(field.getDeclaringClass()),
"f_"+field.getType().getName(),
field.getName() );
else
opt = AccessorInjector.prepare( field.getDeclaringClass(),
fieldTemplateName+"Ref",
newClassName,
toVMClassName(Bean.class),
toVMClassName(field.getDeclaringClass()),
toVMClassName(Ref.class),
toVMClassName(field.getType()),
toVMTypeName(Ref.class),
toVMTypeName(field.getType()),
"f_ref",
field.getName() );
if(opt==null)
return null;
Accessor<B,V> acc = instanciate(opt);
if(acc!=null)
logger.log(Level.FINE,"Using optimized Accessor for "+field);
return acc;
}
示例4: get
import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil; //导入依赖的package包/类
/**
* Gets the optimized {@link Accessor} that accesses the given getter/setter.
*
* @return null
* if for some reason it fails to create an optimized version.
*/
public static final <B,V> Accessor<B,V> get(Method getter, Method setter) {
// make sure the method signatures are what we expect
if(getter.getParameterTypes().length!=0)
return null;
Class<?>[] sparams = setter.getParameterTypes();
if(sparams.length!=1)
return null;
if(sparams[0]!=getter.getReturnType())
return null;
if(setter.getReturnType()!=Void.TYPE)
return null;
if(getter.getDeclaringClass()!=setter.getDeclaringClass())
return null;
if(Modifier.isPrivate(getter.getModifiers()) || Modifier.isPrivate(setter.getModifiers()))
// we can't access private fields
return null;
Class t = sparams[0];
String typeName = t.getName().replace('.','_');
if (t.isArray()) {
typeName = "AOf_";
String compName = t.getComponentType().getName().replace('.','_');
while (compName.startsWith("[L")) {
compName = compName.substring(2);
typeName += "AOf_";
}
typeName = typeName + compName;
}
String newClassName = toVMClassName(getter.getDeclaringClass())+"$JaxbAccessorM_"+getter.getName()+'_'+setter.getName()+'_'+typeName;
Class opt;
if(t.isPrimitive())
opt = AccessorInjector.prepare( getter.getDeclaringClass(),
methodTemplateName+RuntimeUtil.primitiveToBox.get(t).getSimpleName(),
newClassName,
toVMClassName(Bean.class),
toVMClassName(getter.getDeclaringClass()),
"get_"+t.getName(),
getter.getName(),
"set_"+t.getName(),
setter.getName());
else
opt = AccessorInjector.prepare( getter.getDeclaringClass(),
methodTemplateName+"Ref",
newClassName,
toVMClassName(Bean.class),
toVMClassName(getter.getDeclaringClass()),
toVMClassName(Ref.class),
toVMClassName(t),
"()"+toVMTypeName(Ref.class),
"()"+toVMTypeName(t),
'('+toVMTypeName(Ref.class)+")V",
'('+toVMTypeName(t)+")V",
"get_ref",
getter.getName(),
"set_ref",
setter.getName());
if(opt==null)
return null;
Accessor<B,V> acc = instanciate(opt);
if (acc!=null) {
if (logger.isLoggable(Level.FINE)) {
logger.log(Level.FINE, "Using optimized Accessor for {0} and {1}", new Object[]{getter, setter});
}
}
return acc;
}