public class ClassMap extends HashMap
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.
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>| Constructor and Description | 
|---|
| ClassMap()Constructs a hash table. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | fix(CtClass clazz)Prevents a mapping from the specified class name to another name. | 
| void | fix(String name)Prevents a mapping from the specified class name to another name. | 
| Object | get(Object jvmClassName)Returns the class name to wihch the given  jvmClassNameis mapped. | 
| void | put(CtClass oldname,
   CtClass newname)Maps a class name to another name in this hashtable. | 
| void | put(String oldname,
   String newname)Maps a class name to another name in this hashtable. | 
| protected void | put0(Object oldname,
    Object newname) | 
| void | putIfNone(String oldname,
         String newname)Is equivalent to  put()except that
 the given mapping is not recorded into the hashtable
 if another mapping fromoldnameis
 already included. | 
| static String | toJavaName(String classname)Converts a class name from the internal representation used in
 the JVM to the normal one used in Java. | 
| static String | toJvmName(String classname)Converts a class name into the internal representation used in
 the JVM. | 
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, valuesequals, hashCode, toStringpublic 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(String oldname, 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(String oldname, 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.public Object get(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 Mapget in class HashMaptoJvmName(String), 
toJavaName(String)public void fix(CtClass clazz)
public void fix(String name)
public static String toJvmName(String classname)
Copyright © 2016 Shigeru Chiba, www.javassist.org. All Rights Reserved.