/** * Read attribute values according to * 132.5.6 Attribute Element */ public static AttributeValue readAttributeValue(String typespec, String valstr) { return readAttributeValue(null, typespec, valstr); }
if (listType) { List<Boolean> list = new ArrayList<>(); for (String val : split(valstr)) { list.add(Boolean.parseBoolean(val.trim())); if (listType) { List<Double> list = new ArrayList<>(); for (String val : split(valstr)) { list.add(Double.parseDouble(val.trim())); if (listType) { List<Float> list = new ArrayList<>(); for (String val : split(valstr)) { list.add(Float.parseFloat(val.trim())); if (listType) { List<Integer> list = new ArrayList<>(); for (String val : split(valstr)) { list.add(Integer.parseInt(val.trim())); if (listType) { List<Long> list = new ArrayList<>(); for (String val : split(valstr)) { list.add(Long.parseLong(val.trim())); if (listType) { List<MavenCoordinates> list = new ArrayList<>(); for (String val : split(valstr)) { list.add(MavenCoordinates.parse(val.trim()));
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(); }