private void parseEviction(XMLExtendedStreamReader reader, ModelNode eviction) throws XMLStreamException { for (int i = 0; i < reader.getAttributeCount(); i++) { String value = reader.getAttributeValue(i); Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); switch (attribute) { case STRATEGY: { try { EvictionStrategy strategy = EvictionStrategy.valueOf(value); eviction.get(ModelKeys.STRATEGY).set(strategy.name()); } catch (IllegalArgumentException e) { throw ParseUtils.invalidAttributeValue(reader, i); } break; } case MAX_ENTRIES: { eviction.get(ModelKeys.MAX_ENTRIES).set(Integer.parseInt(value)); break; } case INTERVAL: { ROOT_LOGGER.deprecatedAttribute( attribute.getLocalName(), Element.EVICTION.getLocalName(), "ISPN-1268"); break; } default: { throw ParseUtils.unexpectedAttribute(reader, i); } } } ParseUtils.requireNoContent(reader); }
private void writeOptional( XMLExtendedStreamWriter writer, Attribute attribute, ModelNode model, String key) throws XMLStreamException { if (model.hasDefined(key)) { writer.writeAttribute(attribute.getLocalName(), model.get(key).asString()); } }
static { final Map<String, Attribute> map = new HashMap<String, Attribute>(); for (Attribute attribute : values()) { final String name = attribute.getLocalName(); if (name != null) map.put(name, attribute); } attributes = map; }
private void writeListAsAttribute( XMLExtendedStreamWriter writer, Attribute attribute, ModelNode node, String key) throws XMLStreamException { if (node.hasDefined(key)) { StringBuilder result = new StringBuilder(); ModelNode list = node.get(key); if (list.isDefined() && list.getType() == ModelType.LIST) { List<ModelNode> nodeList = list.asList(); for (int i = 0; i < nodeList.size(); i++) { result.append(nodeList.get(i).asString()); if (i < nodeList.size() - 1) { result.append(" "); } } writer.writeAttribute(attribute.getLocalName(), result.toString()); } } }
private void writeRequired( XMLExtendedStreamWriter writer, Attribute attribute, ModelNode model, String key) throws XMLStreamException { writer.writeAttribute(attribute.getLocalName(), model.require(key).asString()); }