Package javassist
Class ClassMap
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<String,
String>
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
.
Note that this is a map from String
to String
.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,
V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Prevents a mapping from the specified class name to another name.void
Prevents a mapping from the specified class name to another name.Returns the class name to wihch the givenjvmClassName
is mapped.Maps a class name to another name in this hashtable.void
Maps a class name to another name in this hashtable.void
Is equivalent toput()
except that the given mapping is not recorded into the hashtable if another mapping fromoldname
is 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
Converts a class name into the internal representation used in the JVM.Methods inherited from class java.util.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, getOrDefault, isEmpty, keySet, merge, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
-
Constructor Details
-
ClassMap
public ClassMap()Constructs a hash table.
-
-
Method Details
-
put
Maps a class name to another name in this hashtable. The names are obtained with callingClass.getName()
. This method translates the given class names into the internal form used in the JVM before putting it in the hashtable.- Parameters:
oldname
- the original class namenewname
- the substituted class name.
-
put
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
oldname
is identical tonewname
, then this method does not perform anything; it does not record the mapping fromoldname
tonewname
. Seefix
method. -
putIfNone
Is equivalent toput()
except that the given mapping is not recorded into the hashtable if another mapping fromoldname
is already included.- Parameters:
oldname
- the original class name.newname
- the substituted class name.
-
get
Returns the class name to wihch the givenjvmClassName
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.
-
fix
Prevents a mapping from the specified class name to another name. -
fix
Prevents a mapping from the specified class name to another name. -
toJvmName
Converts a class name into the internal representation used in the JVM. -
toJavaName
Converts a class name from the internal representation used in the JVM to the normal one used in Java.
-