package com.fasterxml.jackson.dataformat.xml.util;
import com.fasterxml.jackson.databind.AnnotationIntrospector;
import com.fasterxml.jackson.databind.introspect.AnnotatedMember;
import com.fasterxml.jackson.dataformat.xml.XmlAnnotationIntrospector;
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
public class AnnotationUtil
{
public static String findNamespaceAnnotation(AnnotationIntrospector ai,
AnnotatedMember prop)
{
for (AnnotationIntrospector intr : ai.allIntrospectors()) {
if (intr instanceof XmlAnnotationIntrospector) {
String ns = ((XmlAnnotationIntrospector) intr).findNamespace(prop);
if (ns != null) {
return ns;
}
} else if (intr instanceof JaxbAnnotationIntrospector) {
String ns = ((JaxbAnnotationIntrospector) intr).findNamespace(prop);
if (ns != null) {
return ns;
}
}
}
return null;
}
public static Boolean findIsAttributeAnnotation(AnnotationIntrospector ai,
AnnotatedMember prop)
{
for (AnnotationIntrospector intr : ai.allIntrospectors()) {
if (intr instanceof XmlAnnotationIntrospector) {
Boolean b = ((XmlAnnotationIntrospector) intr).isOutputAsAttribute(prop);
if (b != null) {
return b;
}
} else if (intr instanceof JaxbAnnotationIntrospector) {
Boolean b = ((JaxbAnnotationIntrospector) intr).isOutputAsAttribute(prop);
if (b != null) {
return b;
}
}
}
return null;
}
public static Boolean findIsTextAnnotation(AnnotationIntrospector ai,
AnnotatedMember prop)
{
for (AnnotationIntrospector intr : ai.allIntrospectors()) {
if (intr instanceof XmlAnnotationIntrospector) {
Boolean b = ((XmlAnnotationIntrospector) intr).isOutputAsText(prop);
if (b != null) {
return b;
}
} else if (intr instanceof JaxbAnnotationIntrospector) {
Boolean b = ((JaxbAnnotationIntrospector) intr).isOutputAsText(prop);
if (b != null) {
return b;
}
}
}
return null;
}
public static Boolean findIsCDataAnnotation(AnnotationIntrospector ai,
AnnotatedMember prop)
{
for (AnnotationIntrospector intr : ai.allIntrospectors()) {
if (intr instanceof XmlAnnotationIntrospector) {
Boolean b = ((XmlAnnotationIntrospector) intr).isOutputAsCData(prop);
if (b != null) {
return b;
}
}
}
return null;
}
}