org.apache.velocity.app.event.implement
Class ReportInvalidReferences

java.lang.Object
  extended by org.apache.velocity.app.event.implement.ReportInvalidReferences
All Implemented Interfaces:
EventHandler, InvalidReferenceEventHandler, RuntimeServicesAware

public class ReportInvalidReferences
extends Object
implements InvalidReferenceEventHandler, RuntimeServicesAware

Use this event handler to flag invalid references. Since this is intended to be used for a specific request, this should be used as a local event handler attached to a specific context instead of being globally defined in the Velocity properties file.

Note that InvalidReferenceHandler can be used in two modes. If the Velocity properties file contains the following:

 eventhandler.invalidreference.exception = true
 
then the event handler will throw a ParseErrorRuntimeException upon hitting the first invalid reference. This stops processing and is passed through to the application code. The ParseErrorRuntimeException contain information about the template name, line number, column number, and invalid reference.

If this configuration setting is false or omitted then the page will be processed as normal, but all invalid references will be collected in a List of InvalidReferenceInfo objects.

This feature should be regarded as experimental.

Since:
1.5
Version:
$Id: ReportInvalidReferences.java 685685 2008-08-13 21:43:27Z nbubna $
Author:
Will Glass-Husain

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.velocity.app.event.InvalidReferenceEventHandler
InvalidReferenceEventHandler.InvalidGetMethodExecutor, InvalidReferenceEventHandler.InvalidMethodExecutor, InvalidReferenceEventHandler.InvalidSetMethodExecutor
 
Field Summary
static String EVENTHANDLER_INVALIDREFERENCE_EXCEPTION
           
 
Constructor Summary
ReportInvalidReferences()
           
 
Method Summary
 List getInvalidReferences()
          All invalid references during the processing of this page.
 Object invalidGetMethod(Context context, String reference, Object object, String property, Info info)
          Collect the error and/or throw an exception, depending on configuration.
 Object invalidMethod(Context context, String reference, Object object, String method, Info info)
          Collect the error and/or throw an exception, depending on configuration.
 boolean invalidSetMethod(Context context, String leftreference, String rightreference, Info info)
          Collect the error and/or throw an exception, depending on configuration.
 void setRuntimeServices(RuntimeServices rs)
          Called automatically when event cartridge is initialized.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EVENTHANDLER_INVALIDREFERENCE_EXCEPTION

public static final String EVENTHANDLER_INVALIDREFERENCE_EXCEPTION
See Also:
Constant Field Values
Constructor Detail

ReportInvalidReferences

public ReportInvalidReferences()
Method Detail

invalidGetMethod

public Object invalidGetMethod(Context context,
                               String reference,
                               Object object,
                               String property,
                               Info info)
Collect the error and/or throw an exception, depending on configuration.

Specified by:
invalidGetMethod in interface InvalidReferenceEventHandler
Parameters:
context - the context when the reference was found invalid
reference - string with complete invalid reference
object - the object referred to, or null if not found
property - the property name from the reference
info - contains template, line, column details
Returns:
always returns null
Throws:
ParseErrorException

invalidMethod

public Object invalidMethod(Context context,
                            String reference,
                            Object object,
                            String method,
                            Info info)
Collect the error and/or throw an exception, depending on configuration.

Specified by:
invalidMethod in interface InvalidReferenceEventHandler
Parameters:
context - the context when the reference was found invalid
reference - complete invalid reference
object - the object referred to, or null if not found
method - the property name from the reference
info - contains template, line, column details
Returns:
always returns null
Throws:
ParseErrorException

invalidSetMethod

public boolean invalidSetMethod(Context context,
                                String leftreference,
                                String rightreference,
                                Info info)
Collect the error and/or throw an exception, depending on configuration.

Specified by:
invalidSetMethod in interface InvalidReferenceEventHandler
Parameters:
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
Returns:
loop to end -- always returns false

getInvalidReferences

public List getInvalidReferences()
All invalid references during the processing of this page.

Returns:
a List of InvalidReferenceInfo objects

setRuntimeServices

public void setRuntimeServices(RuntimeServices rs)
Called automatically when event cartridge is initialized.

Specified by:
setRuntimeServices in interface RuntimeServicesAware
Parameters:
rs - RuntimeServices object assigned during initialization


Copyright © 2000-2008 The Apache Software Foundation. All Rights Reserved.