/** * Read attribute values according to * 132.5.6 Attribute Element */ public static AttributeValue readAttributeValue(String typespec, String valstr) { return readAttributeValue(null, typespec, valstr); }
public static AttributeValue parse(String external) { String typespec = external.substring(external.indexOf("type=") + 5, external.indexOf(',')); String valuestr = external.substring(external.indexOf("value=") + 6, external.length() - 1); return AttributeValueHandler.readAttributeValue(typespec, valuestr); }
private Object getAttributeValue(String key, String valstr) { String[] parts = key.split(":"); if (parts.length == 1) { return unquote(valstr); } String typespec = parts[1].trim(); if (typespec.startsWith("List")) { parts = typespec.split("[<>]"); typespec = "List<" + (parts.length > 1 ? parts[1].trim() : "String") + ">"; } AttributeValue attval = AttributeValueHandler.readAttributeValue(key, typespec, unquote(valstr)); return attval.getValue(); }