Package org.apache.velocity.example
Class EventExample
- java.lang.Object
-
- org.slf4j.helpers.MarkerIgnoringBase
-
- org.apache.velocity.example.EventExample
-
- All Implemented Interfaces:
Serializable
,EventHandler
,InvalidReferenceEventHandler
,MethodExceptionEventHandler
,ReferenceInsertionEventHandler
,org.slf4j.Logger
public class EventExample extends org.slf4j.helpers.MarkerIgnoringBase implements ReferenceInsertionEventHandler, MethodExceptionEventHandler, InvalidReferenceEventHandler
This class is a simple demonstration of how the event handling features of the Velocity Servlet Engine are used. It uses a custom logger as well to check the log message stream when testing the InvalidReferenceEventHandler.- Version:
- $Id$
- Author:
- Geir Magnusson Jr.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
LOG_LEVEL_DEBUG
static int
LOG_LEVEL_ERROR
static int
LOG_LEVEL_INFO
static int
LOG_LEVEL_TRACE
static int
LOG_LEVEL_WARN
protected String
name
-
Constructor Summary
Constructors Constructor Description EventExample()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
debug(String msg)
void
debug(String format, Object param1)
void
debug(String format, Object... argArray)
void
debug(String format, Object param1, Object param2)
void
debug(String msg, Throwable t)
void
error(String msg)
void
error(String format, Object arg)
void
error(String format, Object... argArray)
void
error(String format, Object arg1, Object arg2)
void
error(String msg, Throwable t)
void
formatAndLog(int level, String format, Object... arguments)
This prints the level and formatted message to System.out.String
getName()
Required init methods for Logger interfacevoid
info(String msg)
void
info(String format, Object arg)
void
info(String format, Object... argArray)
void
info(String format, Object arg1, Object arg2)
void
info(String msg, Throwable t)
Object
invalidGetMethod(Context context, String reference, Object object, String property, Info info)
Called when object is null or there is no getter for the given property.Object
invalidMethod(Context context, String reference, Object object, String method, Info info)
Called when object is null or the given method does not exist.boolean
invalidSetMethod(Context context, String leftreference, String rightreference, Info info)
Event handler for when the right hand side of a #set() directive is null, which results in a log message.boolean
isDebugEnabled()
boolean
isErrorEnabled()
boolean
isInfoEnabled()
boolean
isLevelEnabled(int level)
This always returns true because logging levels can't be disabled in this impl.boolean
isTraceEnabled()
boolean
isWarnEnabled()
void
log(int level, String message)
This just prints the message and level to System.out.void
log(int level, String message, Throwable t)
This prints the level, message, and the Throwable's message to System.out.static void
main(String[] args)
Object
methodException(Context context, Class claz, String method, Exception e, Info info)
Called when a method throws an exception.protected Object
readResolve()
Object
referenceInsert(Context context, String reference, Object value)
Event handler for when a reference is inserted into the output stream.void
throwException()
silly method to throw an exception to demonstrate the method invocation exception event handlingvoid
trace(String msg)
void
trace(String format, Object param1)
void
trace(String format, Object... argArray)
void
trace(String format, Object param1, Object param2)
void
trace(String msg, Throwable t)
void
warn(String msg)
void
warn(String format, Object arg)
void
warn(String format, Object... argArray)
void
warn(String format, Object arg1, Object arg2)
void
warn(String msg, Throwable t)
-
Methods inherited from class org.slf4j.helpers.MarkerIgnoringBase
debug, debug, debug, debug, debug, error, error, error, error, error, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, toString, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
-
-
-
-
Field Detail
-
LOG_LEVEL_TRACE
public static final int LOG_LEVEL_TRACE
- See Also:
- Constant Field Values
-
LOG_LEVEL_DEBUG
public static final int LOG_LEVEL_DEBUG
- See Also:
- Constant Field Values
-
LOG_LEVEL_INFO
public static final int LOG_LEVEL_INFO
- See Also:
- Constant Field Values
-
LOG_LEVEL_WARN
public static final int LOG_LEVEL_WARN
- See Also:
- Constant Field Values
-
LOG_LEVEL_ERROR
public static final int LOG_LEVEL_ERROR
- See Also:
- Constant Field Values
-
name
protected String name
-
-
Method Detail
-
main
public static void main(String[] args)
-
throwException
public void throwException() throws Exception
silly method to throw an exception to demonstrate the method invocation exception event handling- Throws:
Exception
-
referenceInsert
public Object referenceInsert(Context context, String reference, Object value)
Event handler for when a reference is inserted into the output stream.- Specified by:
referenceInsert
in interfaceReferenceInsertionEventHandler
- Parameters:
context
- current contextreference
- Reference from template about to be inserted.value
- Value about to be inserted (after itstoString()
method is called).- Returns:
- Object on which
toString()
should be called for output.
-
invalidGetMethod
public Object invalidGetMethod(Context context, String reference, Object object, String property, Info info)
Description copied from interface:InvalidReferenceEventHandler
Called when object is null or there is no getter for the given property. Also called for invalid references without properties. invalidGetMethod() will be called in sequence for each link in the chain until the first non-null value is returned.- Specified by:
invalidGetMethod
in interfaceInvalidReferenceEventHandler
- Parameters:
context
- the context when the reference was found invalidreference
- string with complete invalid referenceobject
- the object referred to, or null if not foundproperty
- the property name from the referenceinfo
- contains template, line, column details- Returns:
- substitute return value for missing reference, or null if no substitute
-
invalidMethod
public Object invalidMethod(Context context, String reference, Object object, String method, Info info)
Description copied from interface:InvalidReferenceEventHandler
Called when object is null or the given method does not exist. invalidMethod() will be called in sequence for each link in the chain until the first non-null value is returned.- Specified by:
invalidMethod
in interfaceInvalidReferenceEventHandler
- Parameters:
context
- the context when the reference was found invalidreference
- string with complete invalid referenceobject
- the object referred to, or null if not foundmethod
- the name of the (non-existent) methodinfo
- contains template, line, column details- Returns:
- substitute return value for missing reference, or null if no substitute
-
invalidSetMethod
public boolean invalidSetMethod(Context context, String leftreference, String rightreference, Info info)
Event handler for when the right hand side of a #set() directive is null, which results in a log message. This method gives the application a chance to 'vote' on msg generation- Specified by:
invalidSetMethod
in interfaceInvalidReferenceEventHandler
- Parameters:
context
- the context when the reference was found invalidleftreference
- left reference being assigned torightreference
- invalid reference on the rightinfo
- contains info on template, line, col- Returns:
- if true then stop calling invalidSetMethod along the chain.
-
methodException
public Object methodException(Context context, Class claz, String method, Exception e, Info info)
Description copied from interface:MethodExceptionEventHandler
Called when a method throws an exception. Only the first registered MethodExceptionEventHandler is called. If none are registered a MethodInvocationException is thrown.- Specified by:
methodException
in interfaceMethodExceptionEventHandler
- Parameters:
context
- current contextclaz
- the class of the object the method is being applied tomethod
- the methode
- the thrown exceptioninfo
- contains template, line, column details- Returns:
- an object to insert in the page
-
log
public void log(int level, String message)
This just prints the message and level to System.out.
-
log
public void log(int level, String message, Throwable t)
This prints the level, message, and the Throwable's message to System.out.
-
formatAndLog
public void formatAndLog(int level, String format, Object... arguments)
This prints the level and formatted message to System.out.
-
isLevelEnabled
public boolean isLevelEnabled(int level)
This always returns true because logging levels can't be disabled in this impl.
-
getName
public String getName()
Required init methods for Logger interface- Specified by:
getName
in interfaceorg.slf4j.Logger
-
isTraceEnabled
public boolean isTraceEnabled()
- Specified by:
isTraceEnabled
in interfaceorg.slf4j.Logger
-
trace
public void trace(String msg)
- Specified by:
trace
in interfaceorg.slf4j.Logger
-
trace
public void trace(String format, Object param1)
- Specified by:
trace
in interfaceorg.slf4j.Logger
-
trace
public void trace(String format, Object param1, Object param2)
- Specified by:
trace
in interfaceorg.slf4j.Logger
-
trace
public void trace(String format, Object... argArray)
- Specified by:
trace
in interfaceorg.slf4j.Logger
-
isDebugEnabled
public boolean isDebugEnabled()
- Specified by:
isDebugEnabled
in interfaceorg.slf4j.Logger
-
debug
public void debug(String msg)
- Specified by:
debug
in interfaceorg.slf4j.Logger
-
debug
public void debug(String format, Object param1)
- Specified by:
debug
in interfaceorg.slf4j.Logger
-
debug
public void debug(String format, Object param1, Object param2)
- Specified by:
debug
in interfaceorg.slf4j.Logger
-
debug
public void debug(String format, Object... argArray)
- Specified by:
debug
in interfaceorg.slf4j.Logger
-
isInfoEnabled
public boolean isInfoEnabled()
- Specified by:
isInfoEnabled
in interfaceorg.slf4j.Logger
-
info
public void info(String msg)
- Specified by:
info
in interfaceorg.slf4j.Logger
-
info
public void info(String format, Object arg1, Object arg2)
- Specified by:
info
in interfaceorg.slf4j.Logger
-
info
public void info(String format, Object... argArray)
- Specified by:
info
in interfaceorg.slf4j.Logger
-
isWarnEnabled
public boolean isWarnEnabled()
- Specified by:
isWarnEnabled
in interfaceorg.slf4j.Logger
-
warn
public void warn(String msg)
- Specified by:
warn
in interfaceorg.slf4j.Logger
-
warn
public void warn(String format, Object arg1, Object arg2)
- Specified by:
warn
in interfaceorg.slf4j.Logger
-
warn
public void warn(String format, Object... argArray)
- Specified by:
warn
in interfaceorg.slf4j.Logger
-
isErrorEnabled
public boolean isErrorEnabled()
- Specified by:
isErrorEnabled
in interfaceorg.slf4j.Logger
-
error
public void error(String msg)
- Specified by:
error
in interfaceorg.slf4j.Logger
-
error
public void error(String format, Object arg)
- Specified by:
error
in interfaceorg.slf4j.Logger
-
error
public void error(String format, Object arg1, Object arg2)
- Specified by:
error
in interfaceorg.slf4j.Logger
-
error
public void error(String format, Object... argArray)
- Specified by:
error
in interfaceorg.slf4j.Logger
-
readResolve
protected Object readResolve() throws ObjectStreamException
- Throws:
ObjectStreamException
-
-