Interface Factory


  • public interface Factory
    All enhanced instances returned by the Enhancer class implement this interface. Using this interface for new instances is faster than going through the Enhancer interface or using reflection. In addition, to intercept methods called during object construction you must use these methods instead of reflection.
    Version:
    $Id: Factory.java,v 1.13 2004/06/24 21:15:20 herbyderby Exp $
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Callback getCallback​(int index)
      Return the Callback implementation at the specified index.
      Callback[] getCallbacks()
      Get the current set of callbacks for ths object.
      java.lang.Object newInstance​(java.lang.Class[] types, java.lang.Object[] args, Callback[] callbacks)
      Creates a new instance of the same type, using the constructor matching the given signature.
      java.lang.Object newInstance​(Callback callback)
      Creates new instance of the same type, using the no-arg constructor.
      java.lang.Object newInstance​(Callback[] callbacks)
      Creates new instance of the same type, using the no-arg constructor.
      void setCallback​(int index, Callback callback)
      Set the callback for this object for the given type.
      void setCallbacks​(Callback[] callbacks)
      Replace all of the callbacks for this object at once.
    • Method Detail

      • newInstance

        java.lang.Object newInstance​(Callback callback)
        Creates new instance of the same type, using the no-arg constructor. The class of this object must have been created using a single Callback type. If multiple callbacks are required an exception will be thrown.
        Parameters:
        callback - the new interceptor to use
        Returns:
        new instance of the same type
      • newInstance

        java.lang.Object newInstance​(Callback[] callbacks)
        Creates new instance of the same type, using the no-arg constructor.
        Parameters:
        callbacks - the new callbacks(s) to use
        Returns:
        new instance of the same type
      • newInstance

        java.lang.Object newInstance​(java.lang.Class[] types,
                                     java.lang.Object[] args,
                                     Callback[] callbacks)
        Creates a new instance of the same type, using the constructor matching the given signature.
        Parameters:
        types - the constructor argument types
        args - the constructor arguments
        callbacks - the new interceptor(s) to use
        Returns:
        new instance of the same type
      • getCallback

        Callback getCallback​(int index)
        Return the Callback implementation at the specified index.
        Parameters:
        index - the callback index
        Returns:
        the callback implementation
      • setCallback

        void setCallback​(int index,
                         Callback callback)
        Set the callback for this object for the given type.
        Parameters:
        index - the callback index to replace
        callback - the new callback
      • setCallbacks

        void setCallbacks​(Callback[] callbacks)
        Replace all of the callbacks for this object at once.
        Parameters:
        callbacks - the new callbacks(s) to use
      • getCallbacks

        Callback[] getCallbacks()
        Get the current set of callbacks for ths object.
        Returns:
        a new array instance