|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractMap
java.util.HashMap
javassist.ClassMap
A hash table associating class names with different names.
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
.
get(Object)
,
CtClass.replaceClassName(ClassMap)
,
CtNewMethod.copy(CtMethod,String,CtClass,ClassMap)
,
Serialized FormConstructor Summary | |
ClassMap()
Constructs a hash table. |
Method Summary | |
void |
fix(CtClass clazz)
Prevents a mapping from the specified class name to another name. |
void |
fix(java.lang.String name)
Prevents a mapping from the specified class name to another name. |
java.lang.Object |
get(java.lang.Object jvmClassName)
Returns the class name to wihch the given jvmClassName
is mapped. |
void |
put(CtClass oldname,
CtClass newname)
Maps a class name to another name in this hashtable. |
void |
put(java.lang.String oldname,
java.lang.String newname)
Maps a class name to another name in this hashtable. |
static java.lang.String |
toJavaName(java.lang.String classname)
Converts a class name from the internal representation used in the JVM to the normal one used in Java. |
static java.lang.String |
toJvmName(java.lang.String classname)
Converts a class name into the internal representation used in the JVM. |
Methods inherited from class java.util.HashMap |
clear, clone, containsKey, containsValue, entrySet, isEmpty, keySet, put, putAll, remove, size, values |
Methods inherited from class java.util.AbstractMap |
equals, hashCode, toString |
Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Map |
equals, hashCode |
Constructor Detail |
public ClassMap()
Method Detail |
public void put(CtClass oldname, CtClass newname)
Class.getName()
.
This method translates the given class names into the
internal form used in the JVM before putting it in
the hashtable.
oldname
- the original class namenewname
- the substituted class name.public void put(java.lang.String oldname, java.lang.String newname)
If oldname
is equivalent to
newname
, then this method does not
perform anything; it does not record the mapping from
oldname
to newname
. See
fix
method.
oldname
- the original class namenewname
- the substituted class name.fix(String)
public java.lang.Object get(java.lang.Object jvmClassName)
jvmClassName
is mapped. A subclass of this class should override this method.
This method receives and returns the internal representation of class name used in the JVM.
toJvmName(String)
,
toJavaName(String)
public void fix(CtClass clazz)
public void fix(java.lang.String name)
public static java.lang.String toJvmName(java.lang.String classname)
public static java.lang.String toJavaName(java.lang.String classname)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |