Class ClassTailor


  • public final class ClassTailor
    extends java.lang.Object
    Replaces a few constant pool tokens from a class "template" and then loads it into the VM.
    Author:
    Kohsuke Kawaguchi
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] tailor​(java.io.InputStream image, java.lang.String templateClassName, java.lang.String newClassName, java.lang.String... replacements)
      Customizes a class file by replacing constant pools.
      static byte[] tailor​(java.lang.Class templateClass, java.lang.String newClassName, java.lang.String... replacements)  
      static java.lang.String toVMClassName​(java.lang.Class c)
      Returns the class name in the JVM format (such as "java/lang/String")
      static java.lang.String toVMTypeName​(java.lang.Class c)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • toVMClassName

        public static java.lang.String toVMClassName​(java.lang.Class c)
        Returns the class name in the JVM format (such as "java/lang/String")
      • toVMTypeName

        public static java.lang.String toVMTypeName​(java.lang.Class c)
      • tailor

        public static byte[] tailor​(java.lang.Class templateClass,
                                    java.lang.String newClassName,
                                    java.lang.String... replacements)
      • tailor

        public static byte[] tailor​(java.io.InputStream image,
                                    java.lang.String templateClassName,
                                    java.lang.String newClassName,
                                    java.lang.String... replacements)
        Customizes a class file by replacing constant pools.
        Parameters:
        image - The image of the template class.
        replacements - A list of pair of strings that specify the substitution String[]{search_0, replace_0, search_1, replace_1, ..., search_n, replace_n } The search strings found in the constant pool will be replaced by the corresponding replacement string.