java类javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter的实例源码

PropertyInfoImpl.java 文件源码 项目:OpenJSharp 阅读 25 收藏 0 点赞 0 评论 0
/**
 * Checks if the given adapter is applicable to the declared property type.
 */
private boolean isApplicable(XmlJavaTypeAdapter jta, T declaredType ) {
    if(jta==null)   return false;

    T type = reader().getClassValue(jta,"type");
    if(nav().isSameType(declaredType, type))
        return true;    // for types explicitly marked in XmlJavaTypeAdapter.type()

    T ad = reader().getClassValue(jta,"value");
    T ba = nav().getBaseClass(ad, nav().asDecl(XmlAdapter.class));
    if(!nav().isParameterizedType(ba))
        return true;   // can't check type applicability. assume Object, which means applicable to any.
    T inMemType = nav().getTypeArgument(ba, 1);

    return nav().isSubClassOf(declaredType,inMemType);
}
PropertyInfoImpl.java 文件源码 项目:openjdk-jdk10 阅读 22 收藏 0 点赞 0 评论 0
/**
 * Checks if the given adapter is applicable to the declared property type.
 */
private boolean isApplicable(XmlJavaTypeAdapter jta, T declaredType ) {
    if(jta==null)   return false;

    T type = reader().getClassValue(jta,"type");
    if(nav().isSameType(declaredType, type))
        return true;    // for types explicitly marked in XmlJavaTypeAdapter.type()

    T ad = reader().getClassValue(jta,"value");
    T ba = nav().getBaseClass(ad, nav().asDecl(XmlAdapter.class));
    if(!nav().isParameterizedType(ba))
        return true;   // can't check type applicability. assume Object, which means applicable to any.
    T inMemType = nav().getTypeArgument(ba, 1);

    return nav().isSubClassOf(declaredType,inMemType);
}
ObjectFactory.java 文件源码 项目:oscm 阅读 30 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
 * 
 */
@XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:2.0:assertion", name = "AssertionIDRef")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createAssertionIDRef(String value) {
    return new JAXBElement<String>(_AssertionIDRef_QNAME, String.class,
            null, value);
}
PropertyInfoImpl.java 文件源码 项目:OpenJSharp 阅读 31 收藏 0 点赞 0 评论 0
private XmlJavaTypeAdapter getApplicableAdapter(T type) {
    XmlJavaTypeAdapter jta = seed.readAnnotation(XmlJavaTypeAdapter.class);
    if(jta!=null && isApplicable(jta,type))
        return jta;

    // check the applicable adapters on the package
    XmlJavaTypeAdapters jtas = reader().getPackageAnnotation(XmlJavaTypeAdapters.class, parent.clazz, seed );
    if(jtas!=null) {
        for (XmlJavaTypeAdapter xjta : jtas.value()) {
            if(isApplicable(xjta,type))
                return xjta;
        }
    }
    jta = reader().getPackageAnnotation(XmlJavaTypeAdapter.class, parent.clazz, seed );
    if(isApplicable(jta,type))
        return jta;

    // then on the target class
    C refType = nav().asDecl(type);
    if(refType!=null) {
        jta = reader().getClassAnnotation(XmlJavaTypeAdapter.class, refType, seed );
        if(jta!=null && isApplicable(jta,type)) // the one on the type always apply.
            return jta;
    }

    return null;
}
Adapter.java 文件源码 项目:OpenJSharp 阅读 27 收藏 0 点赞 0 评论 0
public Adapter(
    XmlJavaTypeAdapter spec,
    AnnotationReader<TypeT,ClassDeclT,?,?> reader,
    Navigator<TypeT,ClassDeclT,?,?> nav) {

    this( nav.asDecl(reader.getClassValue(spec,"value")), nav );
}
Ref.java 文件源码 项目:OpenJSharp 阅读 22 收藏 0 点赞 0 评论 0
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;
}
JAXBContextImpl.java 文件源码 项目:OpenJSharp 阅读 30 收藏 0 点赞 0 评论 0
private NonElement<Type,Class> getXmlType(RuntimeTypeInfoSet tis, TypeReference tr) {
    if(tr==null)
        throw new IllegalArgumentException();

    XmlJavaTypeAdapter xjta = tr.get(XmlJavaTypeAdapter.class);
    XmlList xl = tr.get(XmlList.class);

    Ref<Type,Class> ref = new Ref<Type,Class>(annotationReader, tis.getNavigator(), tr.type, xjta, xl );

    return tis.getTypeInfo(ref);
}
JavaCompilerImpl.java 文件源码 项目:OpenJSharp 阅读 21 收藏 0 点赞 0 评论 0
public J2SJAXBModel bind(
    Collection<Reference> rootClasses,
    Map<QName,Reference> additionalElementDecls,
    String defaultNamespaceRemap,
    ProcessingEnvironment env) {

    ModelBuilder<TypeMirror, TypeElement, VariableElement, ExecutableElement> builder =
            new ModelBuilder<TypeMirror, TypeElement, VariableElement, ExecutableElement>(
            InlineAnnotationReaderImpl.theInstance,
            new ApNavigator(env),
            Collections.<TypeElement, TypeElement>emptyMap(),
            defaultNamespaceRemap );

    builder.setErrorHandler(new ErrorHandlerImpl(env.getMessager()));

    for ( Reference ref : rootClasses ) {
        TypeMirror t = ref.type;

        XmlJavaTypeAdapter xjta = ref.annotations.getAnnotation(XmlJavaTypeAdapter.class);
        XmlList xl = ref.annotations.getAnnotation(XmlList.class);

        builder.getTypeInfo(new Ref<TypeMirror, TypeElement>(builder, t, xjta, xl));
    }

    TypeInfoSet<TypeMirror, TypeElement, VariableElement, ExecutableElement> r = builder.link();
    if(r==null)     return null;

    if(additionalElementDecls==null)
        additionalElementDecls = Collections.emptyMap();
    else {
        // fool proof check
        for (Map.Entry<QName, ? extends Reference> e : additionalElementDecls.entrySet()) {
            if(e.getKey()==null)
                throw new IllegalArgumentException("nulls in additionalElementDecls");
        }
    }
    return new JAXBModelImpl(r, builder.reader, rootClasses, new HashMap<QName, Reference>(additionalElementDecls));
}
JAXBModelImpl.java 文件源码 项目:OpenJSharp 阅读 24 收藏 0 点赞 0 评论 0
private NonElement<TypeMirror, TypeElement> getXmlType(Reference r) {
    if(r==null)
        throw new IllegalArgumentException();

    XmlJavaTypeAdapter xjta = r.annotations.getAnnotation(XmlJavaTypeAdapter.class);
    XmlList xl = r.annotations.getAnnotation(XmlList.class);

    Ref<TypeMirror, TypeElement> ref = new Ref<TypeMirror, TypeElement>(
        reader,types.getNavigator(),r.type,xjta,xl);

    return types.getTypeInfo(ref);
}
JavaCompilerImpl.java 文件源码 项目:openjdk-jdk10 阅读 22 收藏 0 点赞 0 评论 0
public J2SJAXBModel bind(
    Collection<Reference> rootClasses,
    Map<QName,Reference> additionalElementDecls,
    String defaultNamespaceRemap,
    ProcessingEnvironment env) {

    ModelBuilder<TypeMirror, TypeElement, VariableElement, ExecutableElement> builder =
            new ModelBuilder<TypeMirror, TypeElement, VariableElement, ExecutableElement>(
            InlineAnnotationReaderImpl.theInstance,
            new ApNavigator(env),
            Collections.<TypeElement, TypeElement>emptyMap(),
            defaultNamespaceRemap );

    builder.setErrorHandler(new ErrorHandlerImpl(env.getMessager()));

    for ( Reference ref : rootClasses ) {
        TypeMirror t = ref.type;

        XmlJavaTypeAdapter xjta = ref.annotations.getAnnotation(XmlJavaTypeAdapter.class);
        XmlList xl = ref.annotations.getAnnotation(XmlList.class);

        builder.getTypeInfo(new Ref<TypeMirror, TypeElement>(builder, t, xjta, xl));
    }

    TypeInfoSet<TypeMirror, TypeElement, VariableElement, ExecutableElement> r = builder.link();
    if(r==null)     return null;

    if(additionalElementDecls==null)
        additionalElementDecls = Collections.emptyMap();
    else {
        // fool proof check
        for (Map.Entry<QName, ? extends Reference> e : additionalElementDecls.entrySet()) {
            if(e.getKey()==null)
                throw new IllegalArgumentException("nulls in additionalElementDecls");
        }
    }
    return new JAXBModelImpl(r, builder.reader, rootClasses, new HashMap<QName, Reference>(additionalElementDecls));
}
JAXBModelImpl.java 文件源码 项目:openjdk-jdk10 阅读 24 收藏 0 点赞 0 评论 0
private NonElement<TypeMirror, TypeElement> getXmlType(Reference r) {
    if(r==null)
        throw new IllegalArgumentException();

    XmlJavaTypeAdapter xjta = r.annotations.getAnnotation(XmlJavaTypeAdapter.class);
    XmlList xl = r.annotations.getAnnotation(XmlList.class);

    Ref<TypeMirror, TypeElement> ref = new Ref<TypeMirror, TypeElement>(
        reader,types.getNavigator(),r.type,xjta,xl);

    return types.getTypeInfo(ref);
}
PropertyInfoImpl.java 文件源码 项目:openjdk-jdk10 阅读 23 收藏 0 点赞 0 评论 0
private XmlJavaTypeAdapter getApplicableAdapter(T type) {
    XmlJavaTypeAdapter jta = seed.readAnnotation(XmlJavaTypeAdapter.class);
    if(jta!=null && isApplicable(jta,type))
        return jta;

    // check the applicable adapters on the package
    XmlJavaTypeAdapters jtas = reader().getPackageAnnotation(XmlJavaTypeAdapters.class, parent.clazz, seed );
    if(jtas!=null) {
        for (XmlJavaTypeAdapter xjta : jtas.value()) {
            if(isApplicable(xjta,type))
                return xjta;
        }
    }
    jta = reader().getPackageAnnotation(XmlJavaTypeAdapter.class, parent.clazz, seed );
    if(isApplicable(jta,type))
        return jta;

    // then on the target class
    C refType = nav().asDecl(type);
    if(refType!=null) {
        jta = reader().getClassAnnotation(XmlJavaTypeAdapter.class, refType, seed );
        if(jta!=null && isApplicable(jta,type)) // the one on the type always apply.
            return jta;
    }

    return null;
}
Adapter.java 文件源码 项目:openjdk-jdk10 阅读 24 收藏 0 点赞 0 评论 0
public Adapter(
    XmlJavaTypeAdapter spec,
    AnnotationReader<TypeT,ClassDeclT,?,?> reader,
    Navigator<TypeT,ClassDeclT,?,?> nav) {

    this( nav.asDecl(reader.getClassValue(spec,"value")), nav );
}
Ref.java 文件源码 项目:openjdk-jdk10 阅读 26 收藏 0 点赞 0 评论 0
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;
}
JAXBContextImpl.java 文件源码 项目:openjdk-jdk10 阅读 30 收藏 0 点赞 0 评论 0
private NonElement<Type,Class> getXmlType(RuntimeTypeInfoSet tis, TypeReference tr) {
    if(tr==null)
        throw new IllegalArgumentException();

    XmlJavaTypeAdapter xjta = tr.get(XmlJavaTypeAdapter.class);
    XmlList xl = tr.get(XmlList.class);

    Ref<Type,Class> ref = new Ref<Type,Class>(annotationReader, tis.getNavigator(), tr.type, xjta, xl );

    return tis.getTypeInfo(ref);
}
SmallSignalSecurityIndex.java 文件源码 项目:powsybl-core 阅读 23 收藏 0 点赞 0 评论 0
@XmlElement(name = "m")
@XmlJavaTypeAdapter(MatrixAdapter.class)
public double[][] getValues() {
    return values;
}
ObjectFactory.java 文件源码 项目:sumo 阅读 22 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "ellipsoidName")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createEllipsoidName(String value) {
    return new JAXBElement<String>(_EllipsoidName_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 27 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "time")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createTime(String value) {
    return new JAXBElement<String>(_Time_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 22 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "productLastLineUtcTime")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createProductLastLineUtcTime(String value) {
    return new JAXBElement<String>(_ProductLastLineUtcTime_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 27 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "ascendingNodeTime")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createAscendingNodeTime(String value) {
    return new JAXBElement<String>(_AscendingNodeTime_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 25 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "attitudeSource")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createAttitudeSource(String value) {
    return new JAXBElement<String>(_AttitudeSource_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 27 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "pgSource")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createPgSource(String value) {
    return new JAXBElement<String>(_PgSource_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 21 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "firstLineSensingTime")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createFirstLineSensingTime(String value) {
    return new JAXBElement<String>(_FirstLineSensingTime_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 23 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "fineDceAzimuthStopTime")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createFineDceAzimuthStopTime(String value) {
    return new JAXBElement<String>(_FineDceAzimuthStopTime_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 27 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "stopTime")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createStopTime(String value) {
    return new JAXBElement<String>(_StopTime_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 26 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "pixelValue")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createPixelValue(String value) {
    return new JAXBElement<String>(_PixelValue_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 23 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "frame")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createFrame(String value) {
    return new JAXBElement<String>(_Frame_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 27 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "applicationLutId")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createApplicationLutId(String value) {
    return new JAXBElement<String>(_ApplicationLutId_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 23 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "lastLineSensingTime")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createLastLineSensingTime(String value) {
    return new JAXBElement<String>(_LastLineSensingTime_QNAME, String.class, null, value);
}
ObjectFactory.java 文件源码 项目:sumo 阅读 28 收藏 0 点赞 0 评论 0
/**
 * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
 * 
 */
@XmlElementDecl(namespace = "", name = "fineDceAzimuthStartTime")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createFineDceAzimuthStartTime(String value) {
    return new JAXBElement<String>(_FineDceAzimuthStartTime_QNAME, String.class, null, value);
}


问题


面经


文章

微信
公众号

扫码关注公众号