net.sf.cglib.proxy

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 $
Author:
Juozas Baliuka baliuka@mwm.lt

Method Summary

Callback
getCallback(int index)
Return the Callback implementation at the specified index.
Callback[]
getCallbacks()
Get the current set of callbacks for ths object.
Object
newInstance(Class[] types, Object[] args, Callback[] callbacks)
Creates a new instance of the same type, using the constructor matching the given signature.
Object
newInstance(Callback callback)
Creates new instance of the same type, using the no-arg constructor.
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 Details

getCallback

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

getCallbacks

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

newInstance

public Object newInstance(Class[] types,
                          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

newInstance

public 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

public 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

setCallback

public 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

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

Copyright (c) 2001 - Apache Software Foundation