Class 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 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.
      • 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 exception
        method - method called that causes the exception
        e - Exception thrown by the method
        rsvc - current instance of RuntimeServices
        context - 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 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