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.implement
Class ReportInvalidReferences

    java.lang.Object
      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 inherited from class 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

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.