Package javassist

Class ByteArrayClassPath

  • All Implemented Interfaces:
    ClassPath

    public class ByteArrayClassPath
    extends Object
    implements ClassPath
    A ByteArrayClassPath contains bytes that is served as a class file to a ClassPool. It is useful to convert a byte array to a CtClass object.

    For example, if you want to convert a byte array b into a CtClass object representing the class with a name classname, then do as following:

     ClassPool cp = ClassPool.getDefault();
     cp.insertClassPath(new ByteArrayClassPath(classname, b));
     CtClass cc = cp.get(classname);
     

    The ClassPool object cp uses the created ByteArrayClassPath object as the source of the class file.

    A ByteArrayClassPath must be instantiated for every class. It contains only a single class file.

    See Also:
    ClassPath, ClassPool.insertClassPath(ClassPath), ClassPool.appendClassPath(ClassPath), ClassPool.makeClass(InputStream)
    • Constructor Detail

      • ByteArrayClassPath

        public ByteArrayClassPath​(String name,
                                  byte[] classfile)
    • Method Detail

      • openClassfile

        public InputStream openClassfile​(String classname)
        Opens the class file.
        Specified by:
        openClassfile in interface ClassPath
        Parameters:
        classname - a fully-qualified class name
        Returns:
        the input stream for reading a class file
        See Also:
        Translator
      • find

        public URL find​(String classname)
        Obtains the URL.
        Specified by:
        find in interface ClassPath
        Parameters:
        classname - a fully-qualified class name.
        Returns:
        null if the specified class file could not be found.