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 }