Package org.apache.velocity.app.event
Class EventHandlerUtil
java.lang.Object
org.apache.velocity.app.event.EventHandlerUtil
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
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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.
-
Constructor Details
-
EventHandlerUtil
public EventHandlerUtil()
-
-
Method Details
-
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:
rsvc
- current instance of RuntimeServicescontext
- The internal context adapter.reference
- reference from template about to be insertedvalue
- value about to be inserted (after toString() )- 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:
rsvc
- current instance of RuntimeServicescontext
- The internal context adapter.claz
- Class that is causing the exceptionmethod
- method called that causes the exceptione
- Exception thrown by the methodinfo
- 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:
rsvc
- current instance of RuntimeServicescontext
- The internal context adapter.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").- 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
-