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 java.lang.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).eventhandler.escape.sql.match = /sql.*/
- Since:
- 1.5
- Version:
- $Id: EscapeReference.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.ReferenceInsertionEventHandler
ReferenceInsertionEventHandler.referenceInsertExecutor
-
-
Constructor Summary
Constructors Constructor Description EscapeReference()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.lang.String
escape(java.lang.Object text)
Escape the given text.protected abstract java.lang.String
getMatchAttribute()
Specify the configuration attribute that specifies the regular expression.protected RuntimeServices
getRuntimeServices()
Retrieve a reference to RuntimeServices.java.lang.Object
referenceInsert(java.lang.String reference, java.lang.Object value)
Escape the provided text if it matches the configured regular expression.void
setRuntimeServices(RuntimeServices rs)
Called automatically when event cartridge is initialized.
-
-
-
Method Detail
-
escape
protected abstract java.lang.String escape(java.lang.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 java.lang.String getMatchAttribute()
Specify the configuration attribute that specifies the regular expression. Ideally should be in a formeventhandler.escape.XYZ.match
where
XYZ
is the type of escaping being done.- Returns:
- configuration attribute
-
referenceInsert
public java.lang.Object referenceInsert(java.lang.String reference, java.lang.Object value)
Escape the provided text if it matches the configured regular expression.- Specified by:
referenceInsert
in interfaceReferenceInsertionEventHandler
- Parameters:
reference
-value
-- Returns:
- Escaped text.
-
setRuntimeServices
public void setRuntimeServices(RuntimeServices rs)
Called automatically when event cartridge is initialized.- Specified by:
setRuntimeServices
in 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.
-
-