@Override public boolean supports(Class<?> clazz) { return (this.supportJaxbElementClass && JAXBElement.class.isAssignableFrom(clazz)) || supportsInternal(clazz, this.checkForXmlRootElement); }
@Override public boolean supports(Type genericType) { if (genericType instanceof ParameterizedType) { ParameterizedType parameterizedType = (ParameterizedType) genericType; if (JAXBElement.class == parameterizedType.getRawType() && parameterizedType.getActualTypeArguments().length == 1) { Type typeArgument = parameterizedType.getActualTypeArguments()[0]; if (typeArgument instanceof Class) { Class<?> classArgument = (Class<?>) typeArgument; return ((classArgument.isArray() && Byte.TYPE == classArgument.getComponentType()) || isPrimitiveWrapper(classArgument) || isStandardClass(classArgument) || supportsInternal(classArgument, false)); } else if (typeArgument instanceof GenericArrayType) { GenericArrayType arrayType = (GenericArrayType) typeArgument; return (Byte.TYPE == arrayType.getGenericComponentType()); } } } else if (genericType instanceof Class) { Class<?> clazz = (Class<?>) genericType; return supportsInternal(clazz, this.checkForXmlRootElement); } return false; }
public boolean supports(Class clazz) { return supportsInternal(clazz, true); }
public boolean supports(Type type) { if (type instanceof Class) { return supportsInternal((Class) type, true); } else if (type instanceof ParameterizedType) { ParameterizedType parameterizedType = (ParameterizedType) type; if (JAXBElement.class.equals(parameterizedType.getRawType())) { Assert.isTrue(parameterizedType.getActualTypeArguments().length == 1, "Invalid amount of parameterized types in JAXBElement"); Type typeArgument = parameterizedType.getActualTypeArguments()[0]; if (typeArgument instanceof Class) { Class clazz = (Class) typeArgument; if (!isPrimitiveType(clazz) && !isStandardType(clazz) && !supportsInternal(clazz, false)) { return false; } } else if (typeArgument instanceof GenericArrayType) { GenericArrayType genericArrayType = (GenericArrayType) typeArgument; return genericArrayType.getGenericComponentType().equals(Byte.TYPE); } else if (!supports(typeArgument)) { return false; } return true; } } return false; }
public boolean supports(Class<?> clazz) { return (this.supportJaxbElementClass && JAXBElement.class.isAssignableFrom(clazz)) || supportsInternal(clazz, this.checkForXmlRootElement);