Package javassist

Class ByteArrayClassPath

java.lang.Object
javassist.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:
  • Constructor Details

    • ByteArrayClassPath

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

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • 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:
    • 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.