public TypeBinding(QName qName, TypeBinding baseType) { this(qName, baseType.charactersHandler); if(baseType.particle != null) { // todo this.particle = baseType.particle; } this.attrs = new HashMap(baseType.attrs); this.classMetaData = baseType.classMetaData; this.valueMetaData = baseType.valueMetaData; this.propertyMetaData = baseType.propertyMetaData; this.mapEntryMetaData = baseType.mapEntryMetaData; this.schemaBinding = baseType.schemaBinding; this.baseType = baseType; if(!baseType.isStartElementCreatesObject()) { this.handler = baseType.handler; } }
if(type.isSimple() || classMetaData == null && mapEntryMetaData == null && (!type.isStartElementCreatesObject() || Constants.QNAME_ANYTYPE.equals(type.getQName())))