protected ValueDefinition readSet(BeanContainer container, XmlReader reader, LoaderContext context) { boolean merge = boolAttribute(reader, MERGE_ATTRIBUTE, false); Class<?> valueType = javaTypeAttribute(reader, VALUE_TYPE_ATTRIBUTE); Set<ValueDefinition> values = new LinkedHashSet<>(); final QName elementName = reader.getElementName(); while (reader.nextWhileNotEnd(elementName)) { if (reader.isStartElement()) { if (reader.isStartElement(DESCRIPTION_ELEMENT)) { continue; } ValueDefinition vd = readValueElement(container, reader, context); if (null != vd) { values.add(vd); } } } return new ValueDefinition(values, merge, null, null, valueType); }
protected ValueDefinition readList(BeanContainer container, XmlReader reader, LoaderContext context) { boolean merge = boolAttribute(reader, MERGE_ATTRIBUTE, false); Class<?> valueType = javaTypeAttribute(reader, VALUE_TYPE_ATTRIBUTE); List<ValueDefinition> values = new ArrayList<>(); final QName elementName = reader.getElementName(); while (reader.nextWhileNotEnd(elementName)) { if (reader.isStartElement()) { if (reader.isStartElement(DESCRIPTION_ELEMENT)) { continue; } ValueDefinition vd = readValueElement(container, reader, context); if (null != vd) { values.add(vd); } } } return new ValueDefinition(values, merge, null, null, valueType); }
protected ValueDefinition readProps(BeanContainer container, XmlReader reader, LoaderContext context) { boolean merge = boolAttribute(reader, MERGE_ATTRIBUTE, false); Properties props = new Properties(); while (reader.nextWhileNotEnd(PROPS_ELEMENT)) { if (reader.isStartElement()) { if (reader.isStartElement(PROP_ELEMENT)) { props.put(reader.getRequiredAttribute(KEY_ATTRIBUTE), reader.getElementTextAndEnd()); } else { throw new BeanDefinitionException("unsupported child element '" + reader.getElementLocalName() + "' in 'props' element, source : " + reader.getSource()); } } } return new ValueDefinition(props, merge); }
protected ValueDefinition readArray(BeanContainer container, XmlReader reader, LoaderContext context) { boolean merge = boolAttribute(reader, MERGE_ATTRIBUTE, false); Class<?> valueType = javaTypeAttribute(reader, VALUE_TYPE_ATTRIBUTE); List<ValueDefinition> values = new ArrayList<>(); while (reader.nextWhileNotEnd(ARRAY_ELEMENT)) { if (reader.isStartElement()) { if (reader.isStartElement(DESCRIPTION_ELEMENT)) { continue; } if (reader.isStartElement()) { ValueDefinition vd = readValueElement(container, reader, context); if (null != vd) { values.add(vd); } continue; } throw new BeanDefinitionException("unsupported child element '" + reader.getElementLocalName() + "' in element 'array', source : " + reader.getSource()); } } return new ValueDefinition(values.toArray(), merge, null, null, valueType); }
@SuppressWarnings({"rawtypes", "unchecked"}) protected ValueDefinition readMap(BeanContainer container, XmlReader reader, LoaderContext context) { boolean merge = boolAttribute(reader, MERGE_ATTRIBUTE, false); Class<?> keyType = javaTypeAttribute(reader, KEY_TYPE_ATTRIBUTE); Class<?> valueType = javaTypeAttribute(reader, VALUE_TYPE_ATTRIBUTE); Map map = new LinkedHashMap(); final QName elementName = reader.getElementName(); while (reader.nextWhileNotEnd(elementName)) { if (reader.isStartElement()) { if (reader.isStartElement(DESCRIPTION_ELEMENT)) { continue; } if (reader.isStartElement(ENTRY_ELEMENT)) { ValueDefinition key = readEntryKey(container, reader, context); ValueDefinition val = readEntryValue(container, reader, context); map.put(key, val); continue; } throw new BeanDefinitionException("unsupported child element '" + reader.getElementLocalName() + "' in element 'map', source : " + reader.getSource()); } } //Skip END event reader.next(); return new ValueDefinition(map, merge, null, keyType, valueType); }
bean.setLazyInit(boolAttribute(reader, LAZY_INIT_ATTRIBUTE, context.defaultLazyInit)); bean.setPrimary(boolAttribute(reader, proxy ? TARGET_PRIMARY_ATTRIBUTE : PRIMARY_ATTRIBUTE, false)); bean.setOverride(override); bean.setOverrideAnnotation(overrideAnnotation);