public String toString() { StringBuilder sb = new StringBuilder(); sb.append("<DataElement keyword=\"") .append(ElementDictionary.getStandardElementDictionary().keywordOf(tag)) .append("\" tag=\"") .append(TagUtils.toHexString(tag)) .append("\" vr=\"") .append(vr) .append("\" type=\"") .append(type); if (condition != null) sb.append('C'); sb.append(vr == VR.SQ ? "\" items=\"" : "\" vm=\""); if (minVM == -1) sb.append('n'); else sb.append(minVM); if (maxVM != minVM) { sb.append('-'); if (maxVM == -1) sb.append('n'); else sb.append(maxVM); } if (valueNumber != 0) sb.append("\" valueNumber=\"").append(valueNumber); if (values instanceof String[] || values instanceof int[] || values instanceof Code[]) { sb.append("\">").append(StringUtils.LINE_SEPARATOR); if (values instanceof String[]) for (String val : (String[]) values) sb.append(" <Value>") .append(val) .append("</Value>") .append(StringUtils.LINE_SEPARATOR); else if (values instanceof int[]) for (int val : (int[]) values) sb.append(" <Value>") .append(val) .append("</Value>") .append(StringUtils.LINE_SEPARATOR); else for (Code val : (Code[]) values) { sb.append(" <Code codeValue=\"") .append(val.getCodeValue()) .append("\" codingSchemeDesignator=\"") .append(val.getCodingSchemeDesignator()); if (val.getCodingSchemeVersion() != null) sb.append("\" codingSchemeVersion=\"").append(val.getCodingSchemeVersion()); sb.append("\" codeMeaning=\"") .append(val.getCodeMeaning()) .append("\" />") .append(StringUtils.LINE_SEPARATOR); } ; sb.append("</DataElement>"); } else { sb.append("\"/>"); } return sb.toString(); }
private static Attribute tagsAttr(String attrID, int[] tags) { Attribute attr = new BasicAttribute(attrID); for (int tag : tags) attr.add(TagUtils.toHexString(tag)); return attr; }