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;
}