| 1 package org.sapia.archie.impl; 2 3 import org.sapia.archie.Name; 4 import org.sapia.archie.NameParser; 5 import org.sapia.archie.NamePart; 6 import org.sapia.archie.ProcessingException; 7 8 9 23 public class DefaultNameParser implements NameParser { 24 public static final char SEPARATOR = '/'; 25 26 27 30 public Name parse(String name) throws ProcessingException { 31 Name n = new Name(); 32 StringBuffer buf = new StringBuffer (); 33 34 for (int i = 0; i < name.length(); i++) { 35 if (name.charAt(i) == SEPARATOR) { 36 n.add(new DefaultNamePart(buf.toString())); 37 buf.delete(0, buf.length()); 38 } else { 39 buf.append(name.charAt(i)); 40 } 41 } 42 43 if (buf.length() > 0) { 44 n.add(new DefaultNamePart(buf.toString())); 45 } 46 47 return n; 48 } 49 50 53 public NamePart parseNamePart(String namePart) throws ProcessingException { 54 return new DefaultNamePart(namePart); 55 } 56 57 60 public String asString(Name name) { 61 StringBuffer buff = new StringBuffer (); 62 for(int i = 0; i < name.count(); i++){ 63 buff.append(name.get(i).asString()); 64 if(i < name.count() - 1){ 65 buff.append(SEPARATOR); 66 } 67 } 68 return buff.toString(); 69 } 70 } 71 | Popular Tags |