public String privateCreatorOf(int tag) { if (!TagUtils.isPrivateTag(tag)) return null; int creatorTag = (tag & 0xffff0000) | ((tag >>> 8) & 0xff); int index = indexOf(creatorTag); if (index < 0 || vrs[index] != VR.LO || values[index] == Value.NULL) return null; Object value = decodeStringValue(index); if (value == Value.NULL) return null; return VR.LO.toString(value, false, 0, null); }
private void writeValues(VR vr, Object val, boolean bigEndian, SpecificCharacterSet cs) throws SAXException { if (vr.isStringType()) val = vr.toStrings(val, bigEndian, cs); int vm = vr.vmOf(val); for (int i = 0; i < vm; i++) { String s = vr.toString(val, bigEndian, i, null); addAttribute("number", Integer.toString(i + 1)); if (vr == VR.PN) { PersonName pn = new PersonName(s, true); startElement("PersonName"); writePNGroup("Alphabetic", pn, PersonName.Group.Alphabetic); writePNGroup("Ideographic", pn, PersonName.Group.Ideographic); writePNGroup("Phonetic", pn, PersonName.Group.Phonetic); endElement("PersonName"); } else { writeElement("Value", s); } } }
buf.append(" ["); //$NON-NLS-1$ VR vr = dcmObj.getVR(tag); buf.append(vr.toString()); buf.append("] "); //$NON-NLS-1$
public String getString(String privateCreator, int tag, VR vr, int valueIndex, String defVal) { int index = indexOf(privateCreator, tag); if (index < 0) return defVal; Object value = values[index]; if (value == Value.NULL) return defVal; if (vr == null) vr = vrs[index]; else updateVR(index, vr); if (vr.isStringType()) { value = decodeStringValue(index); if (value == Value.NULL) return defVal; } try { return vr.toString(value, bigEndian, valueIndex, defVal); } catch (UnsupportedOperationException e) { LOG.info("Attempt to access {} {} as string", TagUtils.toString(tag), vr); return defVal; } }