/** * @param element */ public XMLType(TypeInfo type) { this.element = null; this.type = type.getQName(); }
public TypeInfo getTypeInfo(Class javaType, Object logical) { QName xmlType = JavaXMLMapper.getXMLType(javaType); if (xmlType != null) { return new TypeInfo(xmlType, true, null); } else if (javaType.isInterface()) { return new TypeInfo(ANYTYPE_QNAME, true, null); } else { if (logical instanceof XMLType) { xmlType = ((XMLType)logical).getTypeName(); } if (xmlType == null) { xmlType = new QName(Introspector.decapitalize(javaType.getSimpleName())); } return new TypeInfo(xmlType, false, null); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((type == null) ? 0 : type.hashCode()); return result; }
/** * @param element */ public XMLType(TypeInfo type) { this.element = null; this.type = type.getQName(); }
public TypeInfo getTypeInfo(Class javaType, Object logical) { QName xmlType = JavaXMLMapper.getXMLType(javaType); if (xmlType != null) { return new TypeInfo(xmlType, true, null); } else if (javaType.isInterface()) { return new TypeInfo(ANYTYPE_QNAME, true, null); } else { if (logical instanceof XMLType) { xmlType = ((XMLType)logical).getTypeName(); } if (xmlType == null) { xmlType = new QName(Introspector.decapitalize(javaType.getSimpleName())); } return new TypeInfo(xmlType, false, null); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((type == null) ? 0 : type.hashCode()); return result; }
private static String getStringValue(Object o) { if (o == null) { return null; } TypeInfo info = MAPPER.getXMLType(o.getClass()); if (info != null) { return MAPPER.toXMLLiteral(info.getQName(), o, null); } else { return String.valueOf(o); } }
public TypeInfo getTypeInfo(Class javaType, Object logical) { QName xmlType = JavaXMLMapper.getXMLType(javaType); if (xmlType != null) { return new TypeInfo(xmlType, true, null); } else if (javaType.isInterface()) { return new TypeInfo(ANYTYPE_QNAME, true, null); } else { // types.add(javaType); if (logical instanceof XMLType) { xmlType = ((XMLType)logical).getTypeName(); } if (xmlType == null) { xmlType = new QName(JAXBContextHelper.jaxbDecapitalize(javaType.getSimpleName())); } return new TypeInfo(xmlType, false, null); } }
private static String getStringValue(Object o) { if (o == null) { return null; } TypeInfo info = MAPPER.getXMLType(o.getClass()); if (info != null) { return MAPPER.toXMLLiteral(info.getQName(), o, null); } else { return String.valueOf(o); } }
public TypeInfo getTypeInfo(Class javaType, Object logical) { QName xmlType = JavaXMLMapper.getXMLType(javaType); if (xmlType != null) { return new TypeInfo(xmlType, true, null); } else if (javaType.isInterface()) { return new TypeInfo(ANYTYPE_QNAME, true, null); } else { // types.add(javaType); if (logical instanceof XMLType) { xmlType = ((XMLType)logical).getTypeName(); } if (xmlType == null) { xmlType = new QName(JAXBContextHelper.jaxbDecapitalize(javaType.getSimpleName())); } return new TypeInfo(xmlType, false, null); } }
/** * @param element */ public XMLType(ElementInfo element) { super(); this.element = element.getQName(); if (element.getType() != null) { this.type = element.getType().getQName(); } }
private static TypeInfo getTypeInfo(XmlSchemaType type) { if (type == null) { return null; } XmlSchemaType baseType = (XmlSchemaType)type.getBaseSchemaType(); QName name = type.getQName(); boolean simple = (type instanceof XmlSchemaSimpleType); if (baseType == null) { return new TypeInfo(name, simple, null); } else { return new TypeInfo(name, simple, getTypeInfo(baseType)); } }
/** * @param element */ public XMLType(ElementInfo element) { super(); this.element = element.getQName(); if (element.getType() != null) { this.type = element.getType().getQName(); } }
private static TypeInfo getTypeInfo(XmlSchemaType type) { if (type == null) { return null; } XmlSchemaType baseType = (XmlSchemaType)type.getBaseSchemaType(); QName name = type.getQName(); boolean simple = (type instanceof XmlSchemaSimpleType); if (baseType == null) { return new TypeInfo(name, simple, null); } else { return new TypeInfo(name, simple, getTypeInfo(baseType)); } }
/** * Create xis:type if required * @param childElement * @param element * @return */ private OMElement attachXSIType(ElementInfo childElement, OMElement element) { TypeInfo type = childElement.getType(); if (type != null && type.getQName() != null) { OMAttribute attr = element.getAttribute(XSI_TYPE_QNAME); if (attr == null) { String typeNS = type.getQName().getNamespaceURI(); if (XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(typeNS)) { return element; } OMNamespace ns = element.getOMFactory().createOMNamespace(typeNS, "_typens_"); element.declareNamespace(ns); OMNamespace xsiNS = element.getOMFactory().createOMNamespace(XSI_TYPE_QNAME.getNamespaceURI(), XSI_TYPE_QNAME.getPrefix()); element.declareNamespace(xsiNS); attr = element.getOMFactory().createOMAttribute("type", xsiNS, "_typens_:" + type.getQName().getLocalPart()); element.addAttribute(attr); } } return element; }
if (this.property.getXSDType() != null) { if (simpleTypeMapper.isSimpleXSDType(this.property.getXSDType())) { typeInfo = new TypeInfo(property.getXSDType(), true, null); } else { typeInfo = new TypeInfo(property.getXSDType(), false, null); typeInfo = new TypeInfo(property.getXSDType(), false, null);
private <B> void validateTypes(ComponentProperty property, Class<B> type) { // JAXB seems to do some strange things with conversions, so // we can't rely on the databinding conversion from Node->Java to catch // incompatible types. DataType prop1 = property.getProperty().getDataType(); if ( (prop1 != null) && (type.isAssignableFrom(prop1.getPhysical())) ) { return; } else if ( simpleTypeMapper.getXMLType(type) != null ) { if ( simpleTypeMapper.getXMLType(type).getQName().equals(property.getXSDType())) return; } else if ( isSimpleType(property) ) { if ( type.isAssignableFrom(simpleTypeMapper.getJavaType(property.getXSDType()))) return; } throw new IllegalArgumentException("Property type " + prop1.getPhysical().getName() + " is not compatible with " + type.getName()); }
return new ElementInfo(element, new TypeInfo(ANYTYPE_QNAME, false, null));
return new ElementInfo(element, new TypeInfo(ANYTYPE_QNAME, false, null));