Interface ClassCloner

  • All Known Implementing Classes:
    ClassLoaderClassCloner

    public interface ClassCloner
    A cloner for class types. Used (for example) to load an equivalent class from an alternate classloader.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static ClassCloner IDENTITY
      A class cloner which just returns the class it is given.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.Class<?> clone​(java.lang.Class<?> original)
      Clone the given class.
      java.lang.Class<?> cloneProxy​(java.lang.Class<?> proxyClass)
      Clone the given reflection proxy class.
    • Field Detail

      • IDENTITY

        static final ClassCloner IDENTITY
        A class cloner which just returns the class it is given. This cloner can be used in cases where an object must be deep-cloned within the same class loader.
    • Method Detail

      • clone

        java.lang.Class<?> clone​(java.lang.Class<?> original)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Clone the given class.
        Parameters:
        original - the class to clone
        Returns:
        the cloned class
        Throws:
        java.io.IOException - if cloning fails due to a serialization problem
        java.lang.ClassNotFoundException - if cloning fails due to an unavailable class
      • cloneProxy

        java.lang.Class<?> cloneProxy​(java.lang.Class<?> proxyClass)
                               throws java.io.IOException,
                                      java.lang.ClassNotFoundException
        Clone the given reflection proxy class.
        Parameters:
        proxyClass - the proxy class to clone
        Returns:
        the cloned proxy class
        Throws:
        java.io.IOException - if cloning fails due to a serialization problem
        java.lang.ClassNotFoundException - if cloning fails due to an unavailable class