org.apache.ws.jaxme.js.pattern
Class ChainGenerator
java.lang.Object
org.apache.ws.jaxme.js.pattern.ChainGenerator
public class ChainGenerator
extends java.lang.Object
This class generates so-called event chains. A chain is an
interface and an object implementing the interface. Internally
the implementation is using a list of chained objects, which
you can assume to implement the same interface.
Any event is passed to the first object in the list. The object
may decide to resolve the event immediately and return. It may
also call pass the event to the next object, take the returned
value, possibly modify it and return the result. Finally, the
chained object may decide to emit another event (which is passed
along the same chain), and use the returned value.
finish
public void finish()
Validates the input data.
generate
public JavaSource[] generate(JavaSourceFactory pFactory)
throws Exception
Performs the actual work by generating classes using
the given pFactory
.
getChainInterface
public JavaQName getChainInterface()
Returns the interface being generated for the chain objects.
getControllerInterface
public JavaSource getControllerInterface()
Returns the controller interface.
getImplementationClass
public JavaQName getImplementationClass()
Returns the chain implementation classes name. Defaults to
getControllerInterface() + "Impl"
.
getProxyClass
public JavaQName getProxyClass()
Returns the class being generated for the chain objects. Defaults
to getChainInterface() + "Impl"
.
initControllerInterface
protected JavaSource[] initControllerInterface()
throws ClassNotFoundException,
RecognitionException,
TokenStreamException,
IOException
Initializes the controller interface.
main
public static void main(String[] args)
throws Exception
setChainInterface
public void setChainInterface(JavaQName pInterface)
Sets the interface being generated for the chain objects.
setChainInterfaceName
public void setChainInterfaceName(String pInterfaceName)
Sets the interface name being generated for the chain objects.
setControllerInterfaceName
public void setControllerInterfaceName(String pInterfaceName)
throws ClassNotFoundException
Sets the controller interface name.
setImplementationClass
public void setImplementationClass(JavaQName pClassName)
Sets the chain implementation class.
setImplementationClassName
public void setImplementationClassName(String pClassName)
Sets the name of the chain implementation class.
setProxyClass
public void setProxyClass(JavaQName pClassName)
Sets the class being generated for the chain objects.
setProxyClassName
public void setProxyClassName(String pClassName)
Sets the class name being generated for the chain objects.