protected ValueDefinition readEntryKey(BeanContainer container, XmlReader reader, LoaderContext context) { String key = reader.getAttribute(KEY_ATTRIBUTE); String keyRef = reader.getAttribute(KEY_REF_ATTRIBUTE); if (Strings.isAllEmpty(key, keyRef)) { throw new BeanDefinitionException("'key' or 'key-ref' must be defined in element '" + reader.getElementLocalName() + "', source : " + reader.getSource()); } if (!Strings.isEmpty(key)) { return resolvedString(key); } else { return beanReference(context, keyRef); } }
protected ValueDefinition readValue(BeanContainer container, XmlReader reader, LoaderContext context, String elementName) { String value = reader.getAttributeOrNull(VALUE_ATTRIBUTE); if (null != value) { return resolvedString(value); } ValueDefinition br = tryReadRefAttributes(context, reader); if (null != br) { return br; } while (reader.nextWhileNotEnd(elementName)) { if (reader.isStartElement()) { if (reader.isStartElement(DESCRIPTION_ELEMENT)) { continue; } if (reader.isStartElement()) { return readValueElement(container, reader, context); } throw new BeanDefinitionException("unsupported child element '" + reader.getElementLocalName() + "' in element '" + elementName + "', source : " + reader.getSource()); } } throw new BeanDefinitionException("No value definition at line " + reader.getLineNumber() + ", element '" + elementName + "', in xml '" + reader.getSource() + "'"); }
protected ValueDefinition readEntryValue(BeanContainer container, XmlReader reader, LoaderContext context) { Class<?> valueType = javaTypeAttribute(reader, VALUE_TYPE_ATTRIBUTE); String value = reader.getAttribute(VALUE_ATTRIBUTE); if (!Strings.isEmpty(value)) { return resolvedString(valueType, value); } String valueRef = reader.getAttribute(VALUE_REF_ATTRIBUTE); if (!Strings.isEmpty(valueRef)) { return beanReference(context, valueRef); } while (reader.nextWhileNotEnd(ENTRY_ELEMENT)) { if (reader.isStartElement()) { if (reader.isStartElement(DESCRIPTION_ELEMENT)) { continue; } if (reader.isStartElement()) { return readValueElement(container, reader, context); } throw new BeanDefinitionException("unsupported child element '" + reader.getElementLocalName() + "' in element 'entry', source : " + reader.getSource()); } } return null; }
protected ValueDefinition readValueElement(BeanContainer container, XmlReader reader, LoaderContext context) { if (reader.isStartElement(VALUE_ELEMENT)) { return resolvedString(javaTypeAttribute(reader, TYPE_ATTRIBUTE), reader.getElementTextAndEnd());