/** * 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); } } }