|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractMap<K,V>
java.util.HashMap
javassist.ClassMap
public class 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 FormNested Class Summary |
---|
Nested classes/interfaces inherited from class java.util.AbstractMap |
---|
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
Constructor 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. |
protected void |
put0(java.lang.Object oldname,
java.lang.Object newname)
|
void |
putIfNone(java.lang.String oldname,
java.lang.String newname)
Is equivalent to put() except that
the given mapping is not recorded into the hashtable
if another mapping from oldname is
already included. |
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 |
---|
finalize, 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 identical 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 name.newname
- the substituted class name.fix(String)
public void putIfNone(java.lang.String oldname, java.lang.String newname)
put()
except that
the given mapping is not recorded into the hashtable
if another mapping from oldname
is
already included.
oldname
- the original class name.newname
- the substituted class name.protected final void put0(java.lang.Object oldname, java.lang.Object newname)
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.
get
in interface java.util.Map
get
in class java.util.HashMap
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 |