Java源码示例:com.sun.xml.internal.bind.v2.model.nav.Navigator
示例1
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
public XmlSchemaGenerator( Navigator<T,C,F,M> navigator, TypeInfoSet<T,C,F,M> types ) {
this.navigator = navigator;
this.types = types;
this.stringType = types.getTypeInfo(navigator.ref(String.class));
this.anyType = types.getAnyTypeInfo();
// populate the object
for( ClassInfo<T,C> ci : types.beans().values() )
add(ci);
for( ElementInfo<T,C> ei1 : types.getElementMappings(null).values() )
add(ei1);
for( EnumLeafInfo<T,C> ei : types.enums().values() )
add(ei);
for( ArrayInfo<T,C> a : types.arrays().values())
add(a);
}
示例3
public ModelBuilder(
AnnotationReader<T, C, F, M> reader,
Navigator<T, C, F, M> navigator,
Map<C, C> subclassReplacements,
String defaultNamespaceRemap
) {
this.reader = reader;
this.nav = navigator;
this.subclassReplacements = subclassReplacements;
if(defaultNamespaceRemap==null)
defaultNamespaceRemap = "";
this.defaultNsUri = defaultNamespaceRemap;
reader.setErrorHandler(proxyErrorHandler);
typeInfoSet = createTypeInfoSet();
}
示例4
public Adapter(ClassDeclT adapterType,Navigator<TypeT,ClassDeclT,?,?> nav) {
this.adapterType = adapterType;
TypeT baseClass = nav.getBaseClass(nav.use(adapterType), nav.asDecl(XmlAdapter.class));
// because the parameterization of XmlJavaTypeAdapter requires that the class derives from XmlAdapter.
assert baseClass!=null;
if(nav.isParameterizedType(baseClass))
defaultType = nav.getTypeArgument(baseClass,0);
else
defaultType = nav.ref(Object.class);
if(nav.isParameterizedType(baseClass))
customType = nav.getTypeArgument(baseClass,1);
else
customType = nav.ref(Object.class);
}
示例5
public XmlSchemaGenerator( Navigator<T,C,F,M> navigator, TypeInfoSet<T,C,F,M> types ) {
this.navigator = navigator;
this.types = types;
this.stringType = types.getTypeInfo(navigator.ref(String.class));
this.anyType = types.getAnyTypeInfo();
// populate the object
for( ClassInfo<T,C> ci : types.beans().values() )
add(ci);
for( ElementInfo<T,C> ei1 : types.getElementMappings(null).values() )
add(ei1);
for( EnumLeafInfo<T,C> ei : types.enums().values() )
add(ei);
for( ArrayInfo<T,C> a : types.arrays().values())
add(a);
}
示例6
public Adapter(ClassDeclT adapterType,Navigator<TypeT,ClassDeclT,?,?> nav) {
this.adapterType = adapterType;
TypeT baseClass = nav.getBaseClass(nav.use(adapterType), nav.asDecl(XmlAdapter.class));
// because the parameterization of XmlJavaTypeAdapter requires that the class derives from XmlAdapter.
assert baseClass!=null;
if(nav.isParameterizedType(baseClass))
defaultType = nav.getTypeArgument(baseClass,0);
else
defaultType = nav.ref(Object.class);
if(nav.isParameterizedType(baseClass))
customType = nav.getTypeArgument(baseClass,1);
else
customType = nav.ref(Object.class);
}
示例7
public Adapter(ClassDeclT adapterType,Navigator<TypeT,ClassDeclT,?,?> nav) {
this.adapterType = adapterType;
TypeT baseClass = nav.getBaseClass(nav.use(adapterType), nav.asDecl(XmlAdapter.class));
// because the parameterization of XmlJavaTypeAdapter requires that the class derives from XmlAdapter.
assert baseClass!=null;
if(nav.isParameterizedType(baseClass))
defaultType = nav.getTypeArgument(baseClass,0);
else
defaultType = nav.ref(Object.class);
if(nav.isParameterizedType(baseClass))
customType = nav.getTypeArgument(baseClass,1);
else
customType = nav.ref(Object.class);
}
示例8
public XmlSchemaGenerator( Navigator<T,C,F,M> navigator, TypeInfoSet<T,C,F,M> types ) {
this.navigator = navigator;
this.types = types;
this.stringType = types.getTypeInfo(navigator.ref(String.class));
this.anyType = types.getAnyTypeInfo();
// populate the object
for( ClassInfo<T,C> ci : types.beans().values() )
add(ci);
for( ElementInfo<T,C> ei1 : types.getElementMappings(null).values() )
add(ei1);
for( EnumLeafInfo<T,C> ei : types.enums().values() )
add(ei);
for( ArrayInfo<T,C> a : types.arrays().values())
add(a);
}
示例9
public ModelBuilder(
AnnotationReader<T, C, F, M> reader,
Navigator<T, C, F, M> navigator,
Map<C, C> subclassReplacements,
String defaultNamespaceRemap
) {
this.reader = reader;
this.nav = navigator;
this.subclassReplacements = subclassReplacements;
if(defaultNamespaceRemap==null)
defaultNamespaceRemap = "";
this.defaultNsUri = defaultNamespaceRemap;
reader.setErrorHandler(proxyErrorHandler);
typeInfoSet = createTypeInfoSet();
}
示例10
public Adapter(ClassDeclT adapterType,Navigator<TypeT,ClassDeclT,?,?> nav) {
this.adapterType = adapterType;
TypeT baseClass = nav.getBaseClass(nav.use(adapterType), nav.asDecl(XmlAdapter.class));
// because the parameterization of XmlJavaTypeAdapter requires that the class derives from XmlAdapter.
assert baseClass!=null;
if(nav.isParameterizedType(baseClass))
defaultType = nav.getTypeArgument(baseClass,0);
else
defaultType = nav.ref(Object.class);
if(nav.isParameterizedType(baseClass))
customType = nav.getTypeArgument(baseClass,1);
else
customType = nav.ref(Object.class);
}
示例11
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>>());
}
示例12
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>>());
}
示例13
public XmlSchemaGenerator( Navigator<T,C,F,M> navigator, TypeInfoSet<T,C,F,M> types ) {
this.navigator = navigator;
this.types = types;
this.stringType = types.getTypeInfo(navigator.ref(String.class));
this.anyType = types.getAnyTypeInfo();
// populate the object
for( ClassInfo<T,C> ci : types.beans().values() )
add(ci);
for( ElementInfo<T,C> ei1 : types.getElementMappings(null).values() )
add(ei1);
for( EnumLeafInfo<T,C> ei : types.enums().values() )
add(ei);
for( ArrayInfo<T,C> a : types.arrays().values())
add(a);
}
示例14
public Adapter(ClassDeclT adapterType,Navigator<TypeT,ClassDeclT,?,?> nav) {
this.adapterType = adapterType;
TypeT baseClass = nav.getBaseClass(nav.use(adapterType), nav.asDecl(XmlAdapter.class));
// because the parameterization of XmlJavaTypeAdapter requires that the class derives from XmlAdapter.
assert baseClass!=null;
if(nav.isParameterizedType(baseClass))
defaultType = nav.getTypeArgument(baseClass,0);
else
defaultType = nav.ref(Object.class);
if(nav.isParameterizedType(baseClass))
customType = nav.getTypeArgument(baseClass,1);
else
customType = nav.ref(Object.class);
}
示例15
/**
* Creates all the {@link BuiltinLeafInfoImpl}s as specified in the spec.
*
* {@link LeafInfo}s are all defined by the spec.
*/
public static <TypeT,ClassDeclT>
Map<TypeT,BuiltinLeafInfoImpl<TypeT,ClassDeclT>> createLeaves( Navigator<TypeT,ClassDeclT,?,?> nav ) {
Map<TypeT,BuiltinLeafInfoImpl<TypeT,ClassDeclT>> leaves = new HashMap<TypeT,BuiltinLeafInfoImpl<TypeT,ClassDeclT>>();
for( RuntimeBuiltinLeafInfoImpl<?> leaf : RuntimeBuiltinLeafInfoImpl.builtinBeanInfos ) {
TypeT t = nav.ref(leaf.getClazz());
leaves.put( t, new BuiltinLeafInfoImpl<TypeT,ClassDeclT>(t,leaf.getTypeNames()) );
}
return leaves;
}
示例16
public Adapter(
XmlJavaTypeAdapter spec,
AnnotationReader<TypeT,ClassDeclT,?,?> reader,
Navigator<TypeT,ClassDeclT,?,?> nav) {
this( nav.asDecl(reader.getClassValue(spec,"value")), nav );
}
示例17
public Ref(AnnotationReader<T,C,?,?> reader,
Navigator<T,C,?,?> nav,
T type, XmlJavaTypeAdapter xjta, XmlList xl ) {
Adapter<T,C> adapter=null;
if(xjta!=null) {
adapter = new Adapter<T,C>(xjta,reader,nav);
type = adapter.defaultType;
}
this.type = type;
this.adapter = adapter;
this.valueList = xl!=null;
}
示例18
public Ref(AnnotationReader<T,C,?,?> reader,
Navigator<T,C,?,?> nav,
T type, XmlJavaTypeAdapter xjta, XmlList xl ) {
Adapter<T,C> adapter=null;
if(xjta!=null) {
adapter = new Adapter<T,C>(xjta,reader,nav);
type = adapter.defaultType;
}
this.type = type;
this.adapter = adapter;
this.valueList = xl!=null;
}
示例19
/**
* Creates all the {@link BuiltinLeafInfoImpl}s as specified in the spec.
*
* {@link LeafInfo}s are all defined by the spec.
*/
public static <TypeT,ClassDeclT>
Map<TypeT,BuiltinLeafInfoImpl<TypeT,ClassDeclT>> createLeaves( Navigator<TypeT,ClassDeclT,?,?> nav ) {
Map<TypeT,BuiltinLeafInfoImpl<TypeT,ClassDeclT>> leaves = new HashMap<TypeT,BuiltinLeafInfoImpl<TypeT,ClassDeclT>>();
for( RuntimeBuiltinLeafInfoImpl<?> leaf : RuntimeBuiltinLeafInfoImpl.builtinBeanInfos ) {
TypeT t = nav.ref(leaf.getClazz());
leaves.put( t, new BuiltinLeafInfoImpl<TypeT,ClassDeclT>(t,leaf.getTypeNames()) );
}
return leaves;
}
示例20
public Ref(AnnotationReader<T,C,?,?> reader,
Navigator<T,C,?,?> nav,
T type, XmlJavaTypeAdapter xjta, XmlList xl ) {
Adapter<T,C> adapter=null;
if(xjta!=null) {
adapter = new Adapter<T,C>(xjta,reader,nav);
type = adapter.defaultType;
}
this.type = type;
this.adapter = adapter;
this.valueList = xl!=null;
}
示例21
public Adapter(
XmlJavaTypeAdapter spec,
AnnotationReader<TypeT,ClassDeclT,?,?> reader,
Navigator<TypeT,ClassDeclT,?,?> nav) {
this( nav.asDecl(reader.getClassValue(spec,"value")), nav );
}
示例22
private boolean addAllSubtypes(T type) {
Navigator<T,C,F,M> nav = nav();
// this allows the explicitly referenced type to be sucked in to the model
NonElement<T,C> t = parent.builder.getClassInfo(nav.asDecl(type),this);
if(!(t instanceof ClassInfo))
// this is leaf.
return false;
boolean result = false;
ClassInfo<T,C> c = (ClassInfo<T,C>) t;
if(c.isElement()) {
types.add(c.asElement());
result = true;
}
// look for other possible types
for( ClassInfo<T,C> ci : parent.owner.beans().values() ) {
if(ci.isElement() && nav.isSubClassOf(ci.getType(),type)) {
types.add(ci.asElement());
result = true;
}
}
// don't allow local elements to substitute.
for( ElementInfo<T,C> ei : parent.owner.getElementMappings(null).values()) {
if(nav.isSubClassOf(ei.getType(),type)) {
types.add(ei);
result = true;
}
}
return result;
}
示例23
private boolean addAllSubtypes(T type) {
Navigator<T,C,F,M> nav = nav();
// this allows the explicitly referenced type to be sucked in to the model
NonElement<T,C> t = parent.builder.getClassInfo(nav.asDecl(type),this);
if(!(t instanceof ClassInfo))
// this is leaf.
return false;
boolean result = false;
ClassInfo<T,C> c = (ClassInfo<T,C>) t;
if(c.isElement()) {
types.add(c.asElement());
result = true;
}
// look for other possible types
for( ClassInfo<T,C> ci : parent.owner.beans().values() ) {
if(ci.isElement() && nav.isSubClassOf(ci.getType(),type)) {
types.add(ci.asElement());
result = true;
}
}
// don't allow local elements to substitute.
for( ElementInfo<T,C> ei : parent.owner.getElementMappings(null).values()) {
if(nav.isSubClassOf(ei.getType(),type)) {
types.add(ei);
result = true;
}
}
return result;
}
示例24
public Ref(AnnotationReader<T,C,?,?> reader,
Navigator<T,C,?,?> nav,
T type, XmlJavaTypeAdapter xjta, XmlList xl ) {
Adapter<T,C> adapter=null;
if(xjta!=null) {
adapter = new Adapter<T,C>(xjta,reader,nav);
type = adapter.defaultType;
}
this.type = type;
this.adapter = adapter;
this.valueList = xl!=null;
}
示例25
private boolean addAllSubtypes(T type) {
Navigator<T,C,F,M> nav = nav();
// this allows the explicitly referenced type to be sucked in to the model
NonElement<T,C> t = parent.builder.getClassInfo(nav.asDecl(type),this);
if(!(t instanceof ClassInfo))
// this is leaf.
return false;
boolean result = false;
ClassInfo<T,C> c = (ClassInfo<T,C>) t;
if(c.isElement()) {
types.add(c.asElement());
result = true;
}
// look for other possible types
for( ClassInfo<T,C> ci : parent.owner.beans().values() ) {
if(ci.isElement() && nav.isSubClassOf(ci.getType(),type)) {
types.add(ci.asElement());
result = true;
}
}
// don't allow local elements to substitute.
for( ElementInfo<T,C> ei : parent.owner.getElementMappings(null).values()) {
if(nav.isSubClassOf(ei.getType(),type)) {
types.add(ei);
result = true;
}
}
return result;
}
示例26
protected AbstractWrapperBeanGenerator(AnnotationReader<T,C,?,M> annReader,
Navigator<T,C,?,M> nav, BeanMemberFactory<T,A> factory) {
this.annReader = annReader;
this.nav = nav;
this.factory = factory;
}
示例27
protected ApWrapperBeanGenerator(
AnnotationReader<TypeMirror, TypeElement, ?, ExecutableElement> annReader,
Navigator<TypeMirror, TypeElement, ?, ExecutableElement> nav, BeanMemberFactory<TypeMirror, MemberInfo> beanMemberFactory) {
super(annReader, nav, beanMemberFactory);
}
示例28
protected AbstractWrapperBeanGenerator(AnnotationReader<T,C,?,M> annReader,
Navigator<T,C,?,M> nav, BeanMemberFactory<T,A> factory) {
this.annReader = annReader;
this.nav = nav;
this.factory = factory;
}
示例29
public MethodLocatable(Locatable upstream, M method, Navigator<?,?,?,M> nav) {
this.upstream = upstream;
this.method = method;
this.nav = nav;
}
示例30
public ClassLocatable(Locatable upstream, C clazz, Navigator<?,C,?,?> nav) {
this.upstream = upstream;
this.clazz = clazz;
this.nav = nav;
}