00001 package Sct; 00002 00015 public abstract class Name { 00016 00020 public static String convertToC(String className) { 00021 return className.replaceAll("\\.", "::"); 00022 } 00023 00027 public static String convertFromC(String className) { 00028 return className.replaceAll("::", "."); 00029 } 00030 00035 public String getClassName() { 00036 return className; 00037 } 00038 00043 public String getUniqueID() { 00044 return uniqueID; 00045 } 00046 00052 public abstract String getName(); 00053 00058 protected Name(Serializable s) { 00059 this(s.getClassName(), s.getUniqueID()); 00060 } 00061 00066 protected Name(String name) throws IllegalArgumentException { 00067 parse(name); 00068 } 00069 00074 protected Name(String className, String uniqueID) { 00075 this.uniqueID = uniqueID; 00076 this.className = className; 00077 } 00078 00079 00085 protected abstract void parse(String name) throws IllegalArgumentException; 00086 00087 protected String uniqueID; 00088 protected String className; 00089 }