org.apache.velocity.app.event
Class EventHandlerUtil

java.lang.Object
  extended byorg.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.

Version:
$Id: EventHandlerUtil.java 292918 2005-10-01 04:36:58Z wglass $
Author:
Will Glass-Husain

Constructor Summary
EventHandlerUtil()
           
 
Method Summary
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 methodException(RuntimeServices rsvc, InternalContextAdapter context, Class claz, String method, Exception e)
          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.
static boolean shouldLogOnNullSet(RuntimeServices rsvc, InternalContextAdapter context, String lhs, String rhs)
          Called when a null is evaluated during a #set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EventHandlerUtil

public EventHandlerUtil()
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.

Parameters:
reference - reference from template about to be inserted
value - value about to be inserted (after toString() )
Returns:
Object on which toString() should be called for output.

shouldLogOnNullSet

public static boolean shouldLogOnNullSet(RuntimeServices rsvc,
                                         InternalContextAdapter context,
                                         String lhs,
                                         String rhs)
Called when a null is evaluated during a #set. All event handlers are called in sequence until a false is returned. The default implementation always returns true.

Returns:
true if to be logged, false otherwise

methodException

public static Object methodException(RuntimeServices rsvc,
                                     InternalContextAdapter context,
                                     Class claz,
                                     String method,
                                     Exception e)
                              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 exception
method - method called that causes the exception
e - Exception thrown by the method
Returns:
Object to return as method result
Throws:
exception - to be wrapped and propogated to app
Exception

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").
Returns:
a new resource path for the directive, or null to block the include from occurring.


Copyright © 2000-2006 Apache Software Foundation. All Rights Reserved.