This hashtable is used for replacing class names in a class definition or a method body. Define a subclass of this class if a more complex mapping algorithm is needed. For example,
class MyClassMap extends ClassMap {
public Object get(Object jvmClassName) {
String name = toJavaName((String)jvmClassName);
if (name.startsWith("java."))
return toJvmName("java2." + name.substring(5));
else
return super.get(jvmClassName);
}
}
This subclass maps java.lang.String to
java2.lang.String. Note that get()
receives and returns the internal representation of a class name.
For example, the internal representation of java.lang.String
is java/lang/String.
Note that this is a map from String to String.
get(Object), CtClass#replaceClassName(ClassMap), CtNewMethod#copy(CtMethod, String, CtClass, ClassMap)
| Modifier and Type | Field and Description |
|---|---|
| private ClassMap | |
| private static final long | serialVersionUID
default serialVersionUID
|
| Access | Constructor and Description |
|---|---|
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public void | |
| public String | get(Object
the key whose associated value is to be returned jvmClassName)Overrides java. Implements java. Returns the class name to wihch the given |
| public void | put(CtClass
the original class name oldname, CtClass the substituted class name. newname)Overrides java. Implements java. Maps a class name to another name in this hashtable. |
| public String | put(String
the original class name. oldname, String the substituted class name. newname)Overrides java. Implements java. Maps a class name to another name in this hashtable. |
| protected final String | |
| public void | |
| public static String | toJavaName(String classname)
Converts a class name from the internal representation used in the JVM to the normal one used in Java. |
| public static String |
| parent | back to summary |
|---|---|
| private ClassMap parent | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides java. default serialVersionUID | |
| ClassMap | back to summary |
|---|---|
| public ClassMap() Constructs a hash table. | |
| ClassMap | back to summary |
|---|---|
| pack-priv ClassMap(ClassMap map) | |
| fix | back to summary |
|---|---|
| public void fix(CtClass clazz) Prevents a mapping from the specified class name to another name. | |
| fix | back to summary |
|---|---|
| public void fix(String name) Prevents a mapping from the specified class name to another name. | |
| get | back to summary |
|---|---|
| public String get(Object jvmClassName) Overrides java. Implements java. Returns the class name to wihch the given This method receives and returns the internal representation of class name used in the JVM.
| |
| put | back to summary |
|---|---|
| public void put(CtClass oldname, CtClass newname) Overrides java. Implements java. Maps a class name to another name in this hashtable.
The names are obtained with calling
| |
| put | back to summary |
|---|---|
| public String put(String oldname, String newname) Overrides java. Implements java. Maps a class name to another name in this hashtable. If the hashtable contains another mapping from the same class name, the old mapping is replaced. This method translates the given class names into the internal form used in the JVM before putting it in the hashtable. If
| |
| put0 | back to summary |
|---|---|
| protected final String put0(String oldname, String newname) | |
| putIfNone | back to summary |
|---|---|
| public void putIfNone(String oldname, String newname) Is equivalent to | |
| toJavaName | back to summary |
|---|---|
| public static String toJavaName(String classname) Converts a class name from the internal representation used in the JVM to the normal one used in Java. | |
| toJvmName | back to summary |
|---|---|
| public static String toJvmName(String classname) Converts a class name into the internal representation used in the JVM. | |