private static boolean equalPNValues(String v1, String v2) { return new PersonName(v1, true).equals(new PersonName(v2, true)); }
public String get(Component c) { return get(Group.Alphabetic, c); }
private static boolean containsPNValue(Object v) { return v != Value.NULL && !new PersonName((String) v, true).isEmpty(); }
switch (vr) { case PN: keyVal = new PersonName(keyVals[0]).toString(); break; case DA: continue; if (vr == VR.PN) val = new PersonName(val).toString(); if (pattern.matcher(val).matches()) return true; continue; if (vr == VR.PN) val = new PersonName(val).toString(); if (ignoreCase ? keyVal.equalsIgnoreCase(val) : keyVal.equals(val))
private void writePNGroup(String qname, PersonName pn, PersonName.Group group) throws SAXException { if (pn.contains(group)) { startElement(qname); writeElement("FamilyName", pn.get(group, PersonName.Component.FamilyName)); writeElement("GivenName", pn.get(group, PersonName.Component.GivenName)); writeElement("MiddleName", pn.get(group, PersonName.Component.MiddleName)); writeElement("NamePrefix", pn.get(group, PersonName.Component.NamePrefix)); writeElement("NameSuffix", pn.get(group, PersonName.Component.NameSuffix)); endElement(qname); } }
private void startPersonName(int number) { startValue(number); pn = new PersonName(); }
public boolean contains(Component c) { return contains(Group.Alphabetic, c); }
private void endPersonName() { values.add(pn.toString()); pn = null; }
public void set(Component c, String s) { set(Group.Alphabetic, c, s); }
public PersonName(String s, boolean lenient) { if (s != null) parse(s, lenient); }
private void set(int gindex, int cindex, String s) { fields[gindex * 5 + cindex] = trim(s); }
private void writePersonName(String s) { PersonName pn = new PersonName(s, true); gen.writeStartObject(); writePNGroup("Alphabetic", pn, PersonName.Group.Alphabetic); writePNGroup("Ideographic", pn, PersonName.Group.Ideographic); writePNGroup("Phonetic", pn, PersonName.Group.Phonetic); gen.writeEnd(); }
public boolean isEmpty() { for (Group g : Group.values()) if (contains(g)) return false; return true; }
private void endPNComponent(PersonName.Component pnComp) { pn.set(pnGroup, pnComp, getString()); }
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); } } }
public boolean contains(Group g) { for (Component c : Component.values()) if (contains(g, c)) return true; return false; }
public boolean contains(Group g, Component c) { return get(g, c) != null; }
default: if (cindex <= 4) set(gindex, cindex, tk);
public String toString(Group g, boolean trim) { int totLen = 0; Component lastCompOfGroup = Component.FamilyName; for (Component c : Component.values()) { String s = get(g, c); if (s != null) { totLen += s.length(); lastCompOfGroup = c; } } totLen += trim ? lastCompOfGroup.ordinal() : 4; char[] ch = new char[totLen]; int wpos = 0; for (Component c : Component.values()) { String s = get(g, c); if (s != null) { int d = s.length(); s.getChars(0, d, ch, wpos); wpos += d; } if (trim && c == lastCompOfGroup) break; if (wpos < ch.length) ch[wpos++] = '^'; } return new String(ch); }