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

XmlEnumQuick.java 文件源码 项目:OLD-OpenJDK8 阅读 36 收藏 0 点赞 0 评论 0
public XmlEnumQuick(Locatable upstream, XmlEnum core) {
    super(upstream);
    this.core = core;
}
XmlEnumQuick.java 文件源码 项目:OLD-OpenJDK8 阅读 41 收藏 0 点赞 0 评论 0
protected Quick newInstance(Locatable upstream, Annotation core) {
    return new XmlEnumQuick(upstream, ((XmlEnum) core));
}
XmlEnumQuick.java 文件源码 项目:OLD-OpenJDK8 阅读 22 收藏 0 点赞 0 评论 0
public Class<XmlEnum> annotationType() {
    return XmlEnum.class;
}
XmlEnumUtils.java 文件源码 项目:wso2-axis2 阅读 30 收藏 0 点赞 0 评论 0
/**
 * @param e Class of enum 
 * @return a base type that can be used for constructing the enum
 */
public static Class getConversionType(final Class e) {
    Class cls = null;
    if (log.isDebugEnabled()) {
        log.debug("getConversionType for " + e);
    }
    try {
        cls = (Class)     
            AccessController.doPrivileged(new PrivilegedAction() {
                public Object run() {
                    // Look for forName method that is generated by JAXB.
                    Method m = fromValueMethod(e, String.class);
                    if (m != null) {
                        return String.class;
                    }

                    // If we cannot find forName(String) then look for @XmlEnum value
                    // and then look for a forName with the indicated base type
                    if (log.isDebugEnabled()) {
                        log.debug("try looking for @XmlEnum ");
                    }
                    XmlEnum xmlEnum = (XmlEnum)
                        e.getAnnotation(XmlEnum.class);
                    if (xmlEnum != null) {
                        Class argClass = xmlEnum.value();
                        m = fromValueMethod(e, argClass);
                        if (m !=null) {
                            return argClass;
                        }
                        Class primitiveClass = getPrimitiveClass(argClass);
                        if (primitiveClass != null) {
                            m = fromValueMethod(e, primitiveClass);
                            if (m != null) {
                                return argClass;
                            }
                        }
                    }

                    // If still not found look for valueOf(String) method
                    if (log.isDebugEnabled()) {
                        log.debug("try looking for valueOf method ");
                    }
                    m = valueOfMethod(e);
                    if (m != null) {
                        return String.class;
                    }

                    throw ExceptionFactory.makeWebServiceException(new IllegalArgumentException());
                }});
    } finally {
        if (log.isDebugEnabled()) {
            log.debug("getConversionType is" + cls);
        }
    }    
    return cls;
}
XmlEnumQuick.java 文件源码 项目:openjdk-icedtea7 阅读 28 收藏 0 点赞 0 评论 0
public Class<XmlEnum> annotationType() {
    return XmlEnum.class;
}
XmlEnumQuick.java 文件源码 项目:openjdk-icedtea7 阅读 42 收藏 0 点赞 0 评论 0
protected Quick newInstance(Locatable upstream, Annotation core) {
    return new XmlEnumQuick(upstream, ((XmlEnum) core));
}


问题


面经


文章

微信
公众号

扫码关注公众号