Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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: EventHandlerUtil.java 685685 2008-08-13 21:43:27Z nbubna $
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` | `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 Object` | `invalidReferenceHandlerCall(EventHandlerMethodExecutor methodExecutor, RuntimeServices rsvc, InternalContextAdapter context)` Calls event handler method with appropriate chaining across event handlers.
`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)` 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. This is a major hotspot method called by ASTReference render.

  Parameters:
    `reference` - reference from template about to be inserted
    `value` - value about to be inserted (after toString() )
    `rsvc` - current instance of RuntimeServices
    `context` - The internal context adapter.
  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.

  Parameters:
    `lhs` - Left hand side of the expression.
    `rhs` - Right hand side of the expression.
    `rsvc` - current instance of RuntimeServices
    `context` - The internal context adapter.
  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
    `rsvc` - current instance of RuntimeServices
    `context` - The internal context adapter.
  Returns:
    Object to return as method result
  Throws:
    `Exception` - to be wrapped and propogated 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 RuntimeServices
    `context` - 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 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

### invalidReferenceHandlerCall

    public static Object invalidReferenceHandlerCall(EventHandlerMethodExecutor methodExecutor,
                                                     RuntimeServices rsvc,
                                                     InternalContextAdapter context)

  Calls event handler method with appropriate chaining across event handlers.

  Parameters:
    `methodExecutor` -
    `rsvc` - current instance of RuntimeServices
    `context` - The current context
  Returns:
    return value from method, or null if no return value

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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