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 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 RuntimeServices
      context - The internal context adapter.
      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.
    • 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 RuntimeServices
      context - The internal context adapter.
      claz - Class that is causing the exception
      method - method called that causes the exception
      e - Exception thrown by the method
      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:
      rsvc - current instance of RuntimeServices
      context - 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 RuntimeServices
      context - the context when the reference was found invalid
      reference - complete invalid reference
      object - object from reference, or null if not available
      property - name of property, or null if not relevant
      info - 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 RuntimeServices
      context - the context when the reference was found invalid
      leftreference - left reference being assigned to
      rightreference - invalid reference on the right
      info - 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 RuntimeServices
      context - the context when the reference was found invalid
      reference - complete invalid reference
      object - object from reference, or null if not available
      method - name of method, or null if not relevant
      info - contains info on template, line, col
      Returns:
      substitute return value for missing reference, or null if no substitute