public class RuntimeSingleton extends Object implements RuntimeConstants
This is the Runtime system for Velocity. It is the single access point for all functionality in Velocity. It adheres to the mediator pattern and is the only structure that developers need to be familiar with in order to get Velocity to perform.
The Runtime will also cooperate with external systems, which can make all needed setProperty() calls before calling init().
----------------------------------------------------------------------- N O T E S O N R U N T I M E I N I T I A L I Z A T I O N ----------------------------------------------------------------------- RuntimeSingleton.init() If Runtime.init() is called by itself the Runtime will initialize with a set of default values. ----------------------------------------------------------------------- RuntimeSingleton.init(String/Properties) In this case the default velocity properties are laid down first to provide a solid base, then any properties provided in the given properties object will override the corresponding default property. -----------------------------------------------------------------------
RuntimeInstance
RuntimeConstants.SpaceGobbling
CHECK_EMPTY_OBJECTS, CONTEXT_AUTOREFERENCE_KEY, CONTEXT_SCOPE_CONTROL, CONVERSION_HANDLER_CLASS, CONVERSION_HANDLER_INSTANCE, CUSTOM_DIRECTIVES, DEFAULT_PARSER_CLASS, DEFAULT_RUNTIME_DIRECTIVES, DEFAULT_RUNTIME_LOG_NAME, DEFAULT_RUNTIME_PROPERTIES, DEFINE_DIRECTIVE_MAXDEPTH, DS_RESOURCE_LOADER_DATASOURCE, DS_RESOURCE_LOADER_KEY_COLUMN, DS_RESOURCE_LOADER_TABLE, DS_RESOURCE_LOADER_TEMPLATE_COLUMN, DS_RESOURCE_LOADER_TIMESTAMP_COLUMN, ENCODING_DEFAULT, ERRORMSG_END, ERRORMSG_START, EVENTHANDLER_INCLUDE, EVENTHANDLER_INVALIDREFERENCES, EVENTHANDLER_INVALIDREFERENCES_NULL, EVENTHANDLER_INVALIDREFERENCES_QUIET, EVENTHANDLER_INVALIDREFERENCES_TESTED, EVENTHANDLER_METHODEXCEPTION, EVENTHANDLER_REFERENCEINSERTION, FILE_RESOURCE_LOADER_CACHE, FILE_RESOURCE_LOADER_PATH, INPUT_ENCODING, INTERPOLATE_STRINGLITERALS, INTROSPECTOR_RESTRICT_CLASSES, INTROSPECTOR_RESTRICT_PACKAGES, MAX_NUMBER_LOOPS, NUMBER_OF_PARSERS, PARSE_DIRECTIVE_MAXDEPTH, PARSER_CLASS, PARSER_HYPHEN_ALLOWED, PARSER_POOL_CLASS, PARSER_POOL_SIZE, PROVIDE_SCOPE_CONTROL, RESOURCE_LOADER, RESOURCE_LOADER_CACHE, RESOURCE_LOADER_CHECK_INTERVAL, RESOURCE_LOADER_CLASS, RESOURCE_LOADER_IDENTIFIER, RESOURCE_LOADER_INSTANCE, RESOURCE_LOADER_PATHS, RESOURCE_LOADERS, RESOURCE_MANAGER_CACHE_CLASS, RESOURCE_MANAGER_CLASS, RESOURCE_MANAGER_DEFAULTCACHE_SIZE, RESOURCE_MANAGER_INSTANCE, RESOURCE_MANAGER_LOGWHENFOUND, RUNTIME_LOG_INSTANCE, RUNTIME_LOG_METHOD_CALL_LOG_INVALID, RUNTIME_LOG_NAME, RUNTIME_LOG_REFERENCE_LOG_INVALID, RUNTIME_LOG_TRACK_LOCATION, RUNTIME_REFERENCES_STRICT, RUNTIME_REFERENCES_STRICT_ESCAPE, RUNTIME_STRING_INTERNING, SKIP_INVALID_ITERATOR, SPACE_GOBBLING, STRICT_MATH, UBERSPECT_CLASSNAME, VM_ARGUMENTS_STRICT, VM_BODY_REFERENCE, VM_ENABLE_BC_MODE, VM_LIBRARY, VM_LIBRARY_AUTORELOAD, VM_LIBRARY_DEFAULT, VM_MAX_DEPTH, VM_MESSAGES_ON, VM_PERM_ALLOW_INLINE, VM_PERM_ALLOW_INLINE_REPLACE_GLOBAL, VM_PERM_INLINE_LOCAL
OLD_CHECK_EMPTY_OBJECTS, OLD_CONTEXT_AUTOREFERENCE_KEY, OLD_CONVERSION_HANDLER_CLASS, OLD_CUSTOM_DIRECTIVES, OLD_DEFINE_DIRECTIVE_MAXDEPTH, OLD_DS_RESOURCE_LOADER_DATASOURCE, OLD_DS_RESOURCE_LOADER_KEY_COLUMN, OLD_DS_RESOURCE_LOADER_TEMPLATE_COLUMN, OLD_DS_RESOURCE_LOADER_TIMESTAMP_COLUMN, OLD_ERRORMSG_END, OLD_ERRORMSG_START, OLD_EVENTHANDLER_INCLUDE, OLD_EVENTHANDLER_INVALIDREFERENCES, OLD_EVENTHANDLER_METHODEXCEPTION, OLD_EVENTHANDLER_REFERENCEINSERTION, OLD_FILE_RESOURCE_LOADER_CACHE, OLD_FILE_RESOURCE_LOADER_PATH, OLD_INPUT_ENCODING, OLD_INTERPOLATE_STRINGLITERALS, OLD_MAX_NUMBER_LOOPS, OLD_PARSE_DIRECTIVE_MAXDEPTH, OLD_RESOURCE_LOADER_CHECK_INTERVAL, OLD_RESOURCE_LOADERS, OLD_RESOURCE_MANAGER_DEFAULTCACHE_SIZE, OLD_RESOURCE_MANAGER_LOGWHENFOUND, OLD_RUNTIME_LOG_REFERENCE_LOG_INVALID, OLD_RUNTIME_REFERENCES_STRICT, OLD_RUNTIME_REFERENCES_STRICT_ESCAPE, OLD_SKIP_INVALID_ITERATOR, OLD_SPACE_GOBBLING, OLD_STRICT_MATH, OLD_UBERSPECT_CLASSNAME, OLD_VM_BODY_REFERENCE, OLD_VM_ENABLE_BC_MODE, OLD_VM_LIBRARY, OLD_VM_LIBRARY_DEFAULT, OLD_VM_MAX_DEPTH, OLD_VM_PERM_ALLOW_INLINE, OLD_VM_PERM_ALLOW_INLINE_REPLACE_GLOBAL, OLD_VM_PERM_INLINE_LOCAL
Constructor and Description |
---|
RuntimeSingleton() |
Modifier and Type | Method and Description |
---|---|
static void |
addProperty(String key,
Object value)
Add a property to the configuration.
|
static boolean |
addVelocimacro(String name,
Node macro,
List<Macro.MacroArg> macroArgs,
Template definingTemplate)
Adds a new Velocimacro.
|
static void |
clearProperty(String key)
Clear the values pertaining to a particular
property.
|
static Object |
getApplicationAttribute(Object key)
Gets the application attribute for the given key
|
static boolean |
getBoolean(String key,
boolean def)
Boolean property accessor method to hide the configuration implementation.
|
static ExtProperties |
getConfiguration()
Return the velocity runtime configuration object.
|
static ContentResource |
getContent(String name)
Returns a static content resource from the
resource manager.
|
static ContentResource |
getContent(String name,
String encoding)
Returns a static content resource from the
resource manager.
|
EventCartridge |
getEventCartridge()
Returns the event handlers for the application.
|
static int |
getInt(String key)
Int property accessor method to hide the configuration implementation.
|
static int |
getInt(String key,
int defaultValue)
Int property accessor method to hide the configuration implementation.
|
static String |
getLoaderNameForResource(String resourceName)
Determines is a template exists, and returns name of the loader that
provides it.
|
static org.slf4j.Logger |
getLog()
Returns the configured logger.
|
static Object |
getProperty(String key)
Allows an external caller to get a property.
|
static RuntimeServices |
getRuntimeServices()
Returns the RuntimeServices Instance used by this wrapper.
|
static String |
getString(String key)
String property accessor method to hide the configuration implementation
|
static String |
getString(String key,
String defaultValue)
String property accessor method with default to hide the
configuration implementation.
|
static Template |
getTemplate(String name)
Returns a
Template from the resource manager. |
static Template |
getTemplate(String name,
String encoding)
Returns a
Template from the resource manager |
static Uberspect |
getUberspect()
Returns the Uberspect object for this Instance.
|
static Directive |
getVelocimacro(String vmName,
Template renderingTemplate,
Template template)
Returns the appropriate VelocimacroProxy object if strVMname
is a valid current Velocimacro.
|
static void |
init()
This is the primary initialization method in the Velocity
Runtime.
|
static void |
init(Properties p)
Initialize the Velocity Runtime with a Properties
object.
|
static void |
init(String configurationFile)
Initialize the Velocity Runtime with the name of
a properties file.
|
static boolean |
isInitialized()
Returns true if the RuntimeInstance has been successfully initialized.
|
static boolean |
isVelocimacro(String vmName,
Template template)
Checks to see if a VM exists
|
static void |
loadDirective(String directiveClass)
Instantiates and loads the directive with some basic checks.
|
static SimpleNode |
parse(Reader reader,
Template template)
Parse the input and return the root of
AST node structure.
|
static void |
removeDirective(String name)
Remove a directive.
|
static void |
reset()
Resets the instance, so Velocity can be re-initialized again.
|
static void |
setConfiguration(ExtProperties configuration)
Directly set the ExtProperties configuration object
|
static void |
setProperties(Properties configuration)
Allow an external system to set a Properties
object to use.
|
static void |
setProperties(String propsFilename)
Set an entire configuration at once from a named properties file
|
static void |
setProperty(String key,
Object value)
Allows an external system to set a property in
the Velocity Runtime.
|
public static void init()
RuntimeInstance.init()
public static void reset()
public static boolean isInitialized()
RuntimeInstance.isInitialized()
public static RuntimeServices getRuntimeServices()
public static void setProperty(String key, Object value)
key
- property keyvalue
- property valueRuntimeInstance.setProperty(String, Object)
public static void setProperties(Properties configuration)
configuration
- RuntimeInstance.setProperties(Properties)
public static void setProperties(String propsFilename)
propsFilename
- properties filenamepublic static void addProperty(String key, Object value)
key
- value
- RuntimeInstance.addProperty(String, Object)
public static void clearProperty(String key)
key
- of property to clearRuntimeInstance.clearProperty(String)
public static Object getProperty(String key)
key
- property to returnRuntimeInstance.getProperty(String)
public static void init(Properties p)
p
- RuntimeInstance.init(Properties)
public static void init(String configurationFile)
configurationFile
- RuntimeInstance.init(String)
public static SimpleNode parse(Reader reader, Template template) throws ParseException
reader
- Reader retrieved by a resource loadertemplate
- Template being parsedParseException
- When the template could not be parsed.RuntimeInstance.parse(Reader, Template)
public static Template getTemplate(String name) throws ResourceNotFoundException, ParseErrorException
Template
from the resource manager.
This method assumes that the character encoding of the
template is set by the resource.default_encoding
property. The default is UTF-8.name
- The file name of the desired template.ResourceNotFoundException
- if template not found
from any available source.ParseErrorException
- if template cannot be parsed due
to syntax (or other) error.RuntimeInstance.getTemplate(String)
public static Template getTemplate(String name, String encoding) throws ResourceNotFoundException, ParseErrorException
Template
from the resource managername
- The name of the desired template.encoding
- Character encoding of the templateResourceNotFoundException
- if template not found
from any available source.ParseErrorException
- if template cannot be parsed due
to syntax (or other) error.RuntimeInstance.getTemplate(String, String)
public static ContentResource getContent(String name) throws ResourceNotFoundException, ParseErrorException
name
- Name of content resource to getResourceNotFoundException
- if template not found
from any available source.ParseErrorException
- When the template could not be parsed.RuntimeInstance.getContent(String)
public static ContentResource getContent(String name, String encoding) throws ResourceNotFoundException, ParseErrorException
name
- Name of content resource to getencoding
- Character encoding to useResourceNotFoundException
- if template not found
from any available source.ParseErrorException
- When the template could not be parsed.RuntimeInstance.getContent(String, String)
public static String getLoaderNameForResource(String resourceName)
resourceName
- Name of template or content resourceRuntimeInstance.getLoaderNameForResource(String)
public static org.slf4j.Logger getLog()
RuntimeInstance.getLog()
public static String getString(String key, String defaultValue)
key
- property keydefaultValue
- default value to return if key not
found in resource manager.RuntimeInstance.getString(String, String)
public static Directive getVelocimacro(String vmName, Template renderingTemplate, Template template)
vmName
- Name of velocimacro requestedrenderingTemplate
- Template we are currently rendering. This
information is needed when VM_PERM_ALLOW_INLINE_REPLACE_GLOBAL setting is true
and template contains a macro with the same name as the global macro library.template
- current templatepublic static boolean addVelocimacro(String name, Node macro, List<Macro.MacroArg> macroArgs, Template definingTemplate)
name
- Name of a new velocimacro.macro
- root AST node of the parsed macromacroArgs
- Array of macro arguments, containing the
#macro() arguments and default values. the 0th is the name.definingTemplate
- Template containing the definition of the macro.public static boolean isVelocimacro(String vmName, Template template)
vmName
- Name of the Velocimacro.template
- Template on which to look for the Macro.public static String getString(String key)
key
- property keyRuntimeInstance.getString(String)
public static int getInt(String key)
key
- Property keyRuntimeInstance.getInt(String)
public static int getInt(String key, int defaultValue)
key
- property keydefaultValue
- The default value.RuntimeInstance.getInt(String, int)
public static boolean getBoolean(String key, boolean def)
key
- property keydef
- The default value if property not found.RuntimeInstance.getBoolean(String, boolean)
public static void setConfiguration(ExtProperties configuration)
configuration
- RuntimeInstance.setConfiguration(ExtProperties)
public static ExtProperties getConfiguration()
RuntimeInstance.getConfiguration()
public EventCartridge getEventCartridge()
RuntimeInstance.getApplicationEventCartridge()
public static Object getApplicationAttribute(Object key)
key
- RuntimeServices.getApplicationAttribute(Object)
,
RuntimeInstance.getApplicationAttribute(Object)
public static Uberspect getUberspect()
RuntimeServices.getUberspect()
,
RuntimeInstance.getUberspect()
public static void removeDirective(String name)
name
- name of the directive.public static void loadDirective(String directiveClass)
directiveClass
- classname of directive to loadCopyright © 2000–2020 The Apache Software Foundation. All rights reserved.