Package org.apache.velocity.app.event
Class EventHandlerUtil
- java.lang.Object
-
- org.apache.velocity.app.event.EventHandlerUtil
-
public class EventHandlerUtil extends Object
Calls on request all registered event handlers for a particular event. Each method accepts two event cartridges (typically one from the application and one from the context). All appropriate event handlers are executed in order until a stopping condition is met. See the docs for the individual methods to see what the stopping condition is for that method.- Since:
- 1.5
- Version:
- $Id$
- Author:
- Will Glass-Husain
-
-
Constructor Summary
Constructors Constructor Description EventHandlerUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
includeEvent(RuntimeServices rsvc, InternalContextAdapter context, String includeResourcePath, String currentResourcePath, String directiveName)
Called when an include-type directive is encountered (#include or #parse).static Object
invalidGetMethod(RuntimeServices rsvc, InternalContextAdapter context, String reference, Object object, String property, Info info)
Called when an invalid get method is encountered.static Object
invalidMethod(RuntimeServices rsvc, InternalContextAdapter context, String reference, Object object, String method, Info info)
Called when an invalid method is encountered.static void
invalidSetMethod(RuntimeServices rsvc, InternalContextAdapter context, String leftreference, String rightreference, Info info)
Called when an invalid set method is encountered.static Object
methodException(RuntimeServices rsvc, InternalContextAdapter context, Class<?> claz, String method, Exception e, Info info)
Called when a method exception is generated during Velocity merge.static Object
referenceInsert(RuntimeServices rsvc, InternalContextAdapter context, String reference, Object value)
Called before a reference is inserted.
-
-
-
Method Detail
-
referenceInsert
public static Object referenceInsert(RuntimeServices rsvc, InternalContextAdapter context, String reference, Object value)
Called before a reference is inserted. All event handlers are called in sequence. The default implementation inserts the reference as is. This is a major hotspot method called by ASTReference render.- Parameters:
reference
- reference from template about to be insertedvalue
- value about to be inserted (after toString() )rsvc
- current instance of RuntimeServicescontext
- The internal context adapter.- Returns:
- Object on which toString() should be called for output.
-
methodException
public static Object methodException(RuntimeServices rsvc, InternalContextAdapter context, Class<?> claz, String method, Exception e, Info info) throws Exception
Called when a method exception is generated during Velocity merge. Only the first valid event handler in the sequence is called. The default implementation simply rethrows the exception.- Parameters:
claz
- Class that is causing the exceptionmethod
- method called that causes the exceptione
- Exception thrown by the methodrsvc
- current instance of RuntimeServicescontext
- The internal context adapter.info
- exception location informations- Returns:
- Object to return as method result
- Throws:
Exception
- to be wrapped and propagated to app
-
includeEvent
public static String includeEvent(RuntimeServices rsvc, InternalContextAdapter context, String includeResourcePath, String currentResourcePath, String directiveName)
Called when an include-type directive is encountered (#include or #parse). All the registered event handlers are called unless null is returned. The default implementation always processes the included resource.- Parameters:
includeResourcePath
- the path as given in the include directive.currentResourcePath
- the path of the currently rendering template that includes the include directive.directiveName
- name of the directive used to include the resource. (With the standard directives this is either "parse" or "include").rsvc
- current instance of RuntimeServicescontext
- The internal context adapter.- Returns:
- a new resource path for the directive, or null to block the include from occurring.
-
invalidGetMethod
public static Object invalidGetMethod(RuntimeServices rsvc, InternalContextAdapter context, String reference, Object object, String property, Info info)
Called when an invalid get method is encountered.- Parameters:
rsvc
- current instance of RuntimeServicescontext
- the context when the reference was found invalidreference
- complete invalid referenceobject
- object from reference, or null if not availableproperty
- name of property, or null if not relevantinfo
- contains info on template, line, col- Returns:
- substitute return value for missing reference, or null if no substitute
-
invalidSetMethod
public static void invalidSetMethod(RuntimeServices rsvc, InternalContextAdapter context, String leftreference, String rightreference, Info info)
Called when an invalid set method is encountered.- Parameters:
rsvc
- current instance of RuntimeServicescontext
- the context when the reference was found invalidleftreference
- left reference being assigned torightreference
- invalid reference on the rightinfo
- contains info on template, line, col
-
invalidMethod
public static Object invalidMethod(RuntimeServices rsvc, InternalContextAdapter context, String reference, Object object, String method, Info info)
Called when an invalid method is encountered.- Parameters:
rsvc
- current instance of RuntimeServicescontext
- the context when the reference was found invalidreference
- complete invalid referenceobject
- object from reference, or null if not availablemethod
- name of method, or null if not relevantinfo
- contains info on template, line, col- Returns:
- substitute return value for missing reference, or null if no substitute
-
-