|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.velocity.tools.generic.SafeConfig
public class SafeConfig
Implements common logic and constants for tools which automatically
locks down the public void configure(Map params)
method after
it is called once.
This keeps application or session scoped tools thread-safe in templates,
which generally have access to the tool after configuration has happened.
It also provides for a separate "safe mode" setting which tells
tools to block any functions that may pose a security threat. This,
of course, is set to true
by default.
Once "locked down", the configure(Map)
may still be called,
however it will do nothing (unless some subclass is foolish enough to
override it and not check if isConfigLocked()
before changing
configurations. The proper method for subclasses to override is
configure(ValueParser)
which will only be called by
configure(Map)
when the isConfigLocked()
is false
(i.e. the first time only).
Field Summary | |
---|---|
private boolean |
configLocked
|
static java.lang.String |
LOCK_CONFIG_KEY
The key used for specifying whether or not to prevent templates from reconfiguring this tool. |
static java.lang.String |
OLD_LOCK_CONFIG_KEY
Deprecated. |
static java.lang.String |
SAFE_MODE_KEY
Many tools interested in locking configure() also have other things they wish to secure. |
private boolean |
safeMode
|
Constructor Summary | |
---|---|
SafeConfig()
|
Method Summary | |
---|---|
void |
configure(java.util.Map params)
If isConfigLocked() returns true , then this method
does nothing; otherwise, if false , this will create a new
ValueParser from the specified Map of params and call
configure(ValueParser) with it. |
protected void |
configure(ValueParser values)
Does the actual configuration. |
boolean |
isConfigLocked()
Returns true if the configure(Map) method
has been locked. |
boolean |
isSafeMode()
Returns true if this tool is in "safe mode". |
protected void |
setLockConfig(boolean lock)
Only allow subclass access to this. |
protected void |
setSafeMode(boolean safe)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String LOCK_CONFIG_KEY
@Deprecated public static final java.lang.String OLD_LOCK_CONFIG_KEY
public static final java.lang.String SAFE_MODE_KEY
private boolean configLocked
private boolean safeMode
Constructor Detail |
---|
public SafeConfig()
Method Detail |
---|
protected void setLockConfig(boolean lock)
protected void setSafeMode(boolean safe)
public boolean isConfigLocked()
true
if the configure(Map)
method
has been locked.
public boolean isSafeMode()
true
if this tool is in "safe mode".
public void configure(java.util.Map params)
isConfigLocked()
returns true
, then this method
does nothing; otherwise, if false
, this will create a new
ValueParser
from the specified Map of params and call
configure(ValueParser)
with it. Then this will check
the parameters itself to find out whether or not the configuration
for this tool should be put into safe mode or have its config locked.
The safe mode value should be a boolean under the key
SAFE_MODE_KEY
and the lock value should be a boolean
under the key LOCK_CONFIG_KEY
.
protected void configure(ValueParser values)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |