/** * Process a given JavaAtribute. * * @param javaAttribute * @param oldProperty * @param nsInfo * @return */ private Property processJavaAttribute( TypeInfo typeInfo, JavaAttribute javaAttribute, Property oldProperty, NamespaceInfo nsInfo, JavaType javaType) { if (javaAttribute instanceof XmlAnyAttribute) { return processXmlAnyAttribute( (XmlAnyAttribute) javaAttribute, oldProperty, typeInfo, javaType); } else if (javaAttribute instanceof XmlAnyElement) { return processXmlAnyElement((XmlAnyElement) javaAttribute, oldProperty, typeInfo, javaType); } else if (javaAttribute instanceof XmlAttribute) { return processXmlAttribute((XmlAttribute) javaAttribute, oldProperty, typeInfo, nsInfo); } else if (javaAttribute instanceof XmlElement) { return processXmlElement((XmlElement) javaAttribute, oldProperty, typeInfo, nsInfo); } else if (javaAttribute instanceof XmlElements) { return processXmlElements((XmlElements) javaAttribute, oldProperty, typeInfo); } else if (javaAttribute instanceof XmlElementRef) { return processXmlElementRef((XmlElementRef) javaAttribute, oldProperty, typeInfo); } else if (javaAttribute instanceof XmlElementRefs) { return processXmlElementRefs((XmlElementRefs) javaAttribute, oldProperty, typeInfo); } else if (javaAttribute instanceof XmlTransient) { return processXmlTransient((XmlTransient) javaAttribute, oldProperty); } else if (javaAttribute instanceof XmlValue) { return processXmlValue((XmlValue) javaAttribute, oldProperty, typeInfo, javaType); } else if (javaAttribute instanceof XmlJavaTypeAdapter) { return processXmlJavaTypeAdapter((XmlJavaTypeAdapter) javaAttribute, oldProperty); } getLogger() .logWarning( "jaxb_metadata_warning_invalid_java_attribute", new Object[] {javaAttribute.getClass()}); return null; }
/** * Process a given JavaType's attributes. * * @param javaType * @param typeInfo * @param nsInfo */ private void processJavaType(JavaType javaType, TypeInfo typeInfo, NamespaceInfo nsInfo) { // process field/property overrides if (null != javaType.getJavaAttributes()) { for (JAXBElement jaxbElement : javaType.getJavaAttributes().getJavaAttribute()) { JavaAttribute javaAttribute = (JavaAttribute) jaxbElement.getValue(); Property oldProperty = typeInfo.getProperties().get(javaAttribute.getJavaAttribute()); if (oldProperty == null) { getLogger() .logWarning( JAXBMetadataLogger.NO_PROPERTY_FOR_JAVA_ATTRIBUTE, new Object[] {javaAttribute.getJavaAttribute(), javaType.getName()}); continue; } Property newProperty = processJavaAttribute(typeInfo, javaAttribute, oldProperty, nsInfo, javaType); typeInfo.getProperties().put(javaAttribute.getJavaAttribute(), newProperty); } } }