Class EscapeReference
- java.lang.Object
-
- org.apache.velocity.app.event.implement.EscapeReference
-
- All Implemented Interfaces:
EventHandler,ReferenceInsertionEventHandler,RuntimeServicesAware
- Direct Known Subclasses:
EscapeHtmlReference,EscapeJavaScriptReference,EscapeSqlReference,EscapeXmlReference
public abstract class EscapeReference extends Object implements ReferenceInsertionEventHandler, RuntimeServicesAware
Base class for escaping references. To use it, override the following methods:String escape(String text)- escape the provided text
String getMatchAttribute()- retrieve the configuration attribute used to match references (see below)
By default, all references are escaped. However, by setting the match attribute in the configuration file to a regular expression, users can specify which references to escape. For example the following configuration property tells the EscapeSqlReference event handler to only escape references that start with "sql". (e.g.
$sql,$sql.toString(),, etc).
Regular expressions should follow the format used by the Java language. More info in the Pattern class documentation.eventhandler.escape.sql.match = sql.*- Since:
- 1.5
- Version:
- $Id$
- Author:
- Will Glass-Husain
-
-
Field Summary
Fields Modifier and Type Field Description protected org.slf4j.Loggerlog
-
Constructor Summary
Constructors Constructor Description EscapeReference()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract Stringescape(Object text)Escape the given text.protected abstract StringgetMatchAttribute()Specify the configuration attribute that specifies the regular expression.protected RuntimeServicesgetRuntimeServices()Retrieve a reference to RuntimeServices.ObjectreferenceInsert(Context context, String reference, Object value)Escape the provided text if it matches the configured regular expression.voidsetRuntimeServices(RuntimeServices rs)Called automatically when event cartridge is initialized.
-
-
-
Method Detail
-
escape
protected abstract String escape(Object text)
Escape the given text. Override this in a subclass to do the actual escaping.- Parameters:
text- the text to escape- Returns:
- the escaped text
-
getMatchAttribute
protected abstract String getMatchAttribute()
Specify the configuration attribute that specifies the regular expression. Ideally should be in a formeventhandler.escape.XYZ.matchwhere
XYZis the type of escaping being done.- Returns:
- configuration attribute
-
referenceInsert
public Object referenceInsert(Context context, String reference, Object value)
Escape the provided text if it matches the configured regular expression.- Specified by:
referenceInsertin interfaceReferenceInsertionEventHandler- Parameters:
reference-value-context- current context- Returns:
- Escaped text.
-
setRuntimeServices
public void setRuntimeServices(RuntimeServices rs)
Called automatically when event cartridge is initialized.- Specified by:
setRuntimeServicesin interfaceRuntimeServicesAware- Parameters:
rs- instance of RuntimeServices
-
getRuntimeServices
protected RuntimeServices getRuntimeServices()
Retrieve a reference to RuntimeServices. Use this for checking additional configuration properties.- Returns:
- The current runtime services object.
-
-