org.infohazard.maverick.flow
Class MaverickContext

java.lang.Object
  |
  +--org.infohazard.maverick.flow.MaverickContext
All Implemented Interfaces:
ControllerContext, TransformContext, ViewContext

public class MaverickContext
extends java.lang.Object
implements ControllerContext, ViewContext, TransformContext

MaverickContext is the concrete class which implements all the other contexts. Having one object minimizes object creation and data copying.


Field Summary
protected  Dispatcher dispatcher
           
protected  java.lang.Object model
          This gets set during processing of the Controller
protected  int nextTransform
          The index of the next transform to execute.
protected  java.util.Map params
          This might get set during processing of the Controller
protected  javax.servlet.http.HttpServletRequest request
           
protected  javax.servlet.http.HttpServletResponse response
           
protected  int transformCount
          The count of transforms to execute.
protected  Transform[] transforms
          This gets set before processing of the View
 
Constructor Summary
MaverickContext(Dispatcher disp, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
           
 
Method Summary
protected  int determineMaxTransforms()
          Convenient method for obtaining the maximum number of transformations to allow in the pipeline.
 java.lang.Object getModel()
          Obtain the model which is to be rendered.
 TransformStep getNextStep()
          This is where output should be sent.
 java.util.Map getParams()
          Obtain any params that were set.
 javax.servlet.http.HttpServletResponse getRealResponse()
          Returns the *real* response object.
 javax.servlet.http.HttpServletRequest getRequest()
          Basic data
 javax.servlet.http.HttpServletResponse getResponse()
          Basic data
 javax.servlet.ServletConfig getServletConfig()
          Basic data
 javax.servlet.ServletContext getServletContext()
          Basic data
 boolean halting()
           
 void putAllParams(java.util.Map addParams)
          Appends to existing parameters.
 void setModel(java.lang.Object mod)
          Set the model to be rendered.
 void setParam(java.lang.String name, java.lang.Object value)
          Sets a parameter to the view and transforms.
 void setTransforms(Transform[] trans)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dispatcher

protected Dispatcher dispatcher

request

protected javax.servlet.http.HttpServletRequest request

response

protected javax.servlet.http.HttpServletResponse response

model

protected java.lang.Object model
This gets set during processing of the Controller


params

protected java.util.Map params
This might get set during processing of the Controller


transforms

protected Transform[] transforms
This gets set before processing of the View


nextTransform

protected int nextTransform
The index of the next transform to execute.


transformCount

protected int transformCount
The count of transforms to execute.

Constructor Detail

MaverickContext

public MaverickContext(Dispatcher disp,
                       javax.servlet.http.HttpServletRequest req,
                       javax.servlet.http.HttpServletResponse res)
Method Detail

getRequest

public javax.servlet.http.HttpServletRequest getRequest()
Description copied from interface: ControllerContext
Basic data

Specified by:
getRequest in interface ControllerContext
See Also:
ControllerContext, ViewContext, TransformContext

getRealResponse

public javax.servlet.http.HttpServletResponse getRealResponse()
Description copied from interface: ViewContext
Returns the *real* response object. Do not use this unless you know are the tail!

Specified by:
getRealResponse in interface ViewContext
See Also:
ViewContext, TransformContext

getResponse

public javax.servlet.http.HttpServletResponse getResponse()
Description copied from interface: ControllerContext
Basic data

Specified by:
getResponse in interface ControllerContext
See Also:
ControllerContext

getServletConfig

public javax.servlet.ServletConfig getServletConfig()
Description copied from interface: ControllerContext
Basic data

Specified by:
getServletConfig in interface ControllerContext
See Also:
ControllerContext

getServletContext

public javax.servlet.ServletContext getServletContext()
Description copied from interface: ControllerContext
Basic data

Specified by:
getServletContext in interface ControllerContext
See Also:
ControllerContext, ViewContext, TransformContext

setParam

public void setParam(java.lang.String name,
                     java.lang.Object value)
Description copied from interface: ControllerContext
Sets a parameter to the view and transforms.

Specified by:
setParam in interface ControllerContext
See Also:
ControllerContext

putAllParams

public void putAllParams(java.util.Map addParams)
Appends to existing parameters.


setModel

public void setModel(java.lang.Object mod)
Description copied from interface: ControllerContext
Set the model to be rendered.

Specified by:
setModel in interface ControllerContext
See Also:
ControllerContext

getModel

public java.lang.Object getModel()
Description copied from interface: ViewContext
Obtain the model which is to be rendered.

Specified by:
getModel in interface ControllerContext
Returns:
the model which was set.
See Also:
ControllerContext, ViewContext

getParams

public java.util.Map getParams()
Description copied from interface: ViewContext
Obtain any params that were set.

Specified by:
getParams in interface ControllerContext
Returns:
any params set on the controller node, or null if none.
See Also:
ControllerContext, ViewContext, TransformContext

setTransforms

public void setTransforms(Transform[] trans)

getNextStep

public TransformStep getNextStep()
                          throws javax.servlet.ServletException
Description copied from interface: ViewContext
This is where output should be sent. If it returns null, there are no transforms, and you should use the real response.

Specified by:
getNextStep in interface ViewContext
Returns:
the next step in the transformation process Call this ONLY ONCE per step!
javax.servlet.ServletException
See Also:
ViewContext, TransformContext

halting

public boolean halting()
Specified by:
halting in interface TransformContext
Returns:
true if the transformation chain is going to be halted prematurely due to user request.
See Also:
TransformContext

determineMaxTransforms

protected int determineMaxTransforms()
Convenient method for obtaining the maximum number of transformations to allow in the pipeline. Uses a request parameter whose name is defined by the limitTransformsParam property on the Dispatcher, and which should have an integer value. If nothing is specified or transform limiting is disabled (because limitTransformsParam is null), this returns Integer.MAX_VALUE.

Returns:
The maximum number of transforms allowed, possibly Integer.MAX_VALUE.
Throws:
java.lang.NumberFormatException - if the form parameter could not be converted to an integer.