C# Класс NVelocity.Runtime.RuntimeSingleton

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 like Turbine. Runtime properties can set and then the Runtime is initialized. Turbine for example knows where the templates are to be loaded from, and where the velocity log file should be placed. So in the case of Velocity cooperating with Turbine the code might look something like the following:
 RuntimeSingleton.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, templatePath); RuntimeSingleton.setProperty(RuntimeConstants.RUNTIME_LOG, pathToVelocityLog); RuntimeSingleton.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 layed down first to provide a solid base, then any properties provided in the given properties object will override the corresponding default property. ----------------------------------------------------------------------- 
Показать файл Открыть проект Примеры использования класса

Private Properties

Свойство Тип Описание
CreateNewParser NVelocity.Runtime.Parser.Parser

Открытые методы

Метод Описание
AddProperty ( String key, Object value ) : void

Add a property to the configuration. If it already exists then the value stated here will be added to the configuration entry. For example, if resource.loader = file is already present in the configuration and you addProperty("resource.loader", "classpath") Then you will end up with an ArrayList like the following: ["file", "classpath"]

AddVelocimacro ( String name, String macro, String argArray, String sourceTemplate ) : bool

Adds a new Velocimacro. Usually called by Macro only while parsing.

ClearProperty ( String key ) : void

Clear the values pertaining to a particular property.

Debug ( Object message ) : void

Log a debug message.

DumpVMNamespace ( String ns ) : bool

Tells the vmFactory to dump the specified namespace. This is to support clearing the VM list when in inline-VM-local-scope mode

Error ( Object message ) : void

Log an error message.

GetApplicationAttribute ( Object key ) : Object

IRuntimeServices.GetApplicationAttribute

GetBoolean ( String key, bool def ) : bool

Boolean property accessor method to hide the configuration implementation.

GetContent ( String name ) : ContentResource

Returns a static content resource from the resource manager. Uses the current value if INPUT_ENCODING as the character encoding. *

GetContent ( String name, String encoding ) : ContentResource

Returns a static content resource from the resource manager. *

GetInt ( String key ) : int

Int property accessor method to hide the configuration implementation.

GetInt ( String key, int defaultValue ) : int

Int property accessor method to hide the configuration implementation.

GetLoaderNameForResource ( String resourceName ) : String

Determines is a template exists, and returns name of the loader that provides it. This is a slightly less hokey way to support the Velocity.templateExists() utility method, which was broken when per-template encoding was introduced. We can revisit this. *

GetProperty ( String key ) : Object

Allows an external caller to get a property. The calling routine is required to know the type, as this routine will return an Object, as that is what properties can be.

GetString ( String key ) : String

String property accessor method to hide the configuration implementation.

GetTemplate ( String name ) : Template

Returns a Template from the resource manager. This method assumes that the character encoding of the template is set by the input.encoding property. The default is "ISO-8859-1" *

GetTemplate ( String name, String encoding ) : Template

Returns a Template from the resource manager *

GetVelocimacro ( String vmName, String templateName ) : Directive

Returns the appropriate VelocimacroProxy object if vmName is a valid current Velocimacro.

Info ( Object message ) : void

Log an info message.

Init ( ) : void

This is the primary initialization method in the Velocity Runtime. The systems that are setup/initialized here are as follows: Logging System ResourceManager Parser Pool Global Cache Static Content Include System Velocimacro System

Init ( ExtendedProperties p ) : void

Initialize the Velocity Runtime with an ExtendedProperties object.

Init ( String configurationFile ) : void

Initialize the Velocity Runtime with a configuration file.

IsVelocimacro ( String vmName, String templateName ) : bool

Checks to see if a VM exists

Parse ( TextReader reader, String templateName ) : NVelocity.Runtime.Parser.Node.SimpleNode

Parse the input and return the root of AST node structure.

In the event that it runs out of parsers in the pool, it will create and let them be GC'd dynamically, logging that it has to do that. This is considered an exceptional condition. It is expected that the user will set the PARSER_POOL_SIZE property appropriately for their application. We will revisit this.

Parse ( TextReader reader, String templateName, bool dumpNamespace ) : NVelocity.Runtime.Parser.Node.SimpleNode

Parse the input and return the root of the AST node structure.

SetProperty ( String key, Object value ) : void

Allows an external system to set a property in the Velocity Runtime.

Warn ( Object message ) : void

Log a warning message.

getString ( String key, String defaultValue ) : String

String property accessor method with default to hide the configuration implementation.

Приватные методы

Метод Описание
CreateNewParser ( ) : Parser

Returns a JavaCC generated Parser.

Описание методов

AddProperty() публичный статический Метод

Add a property to the configuration. If it already exists then the value stated here will be added to the configuration entry. For example, if resource.loader = file is already present in the configuration and you addProperty("resource.loader", "classpath") Then you will end up with an ArrayList like the following: ["file", "classpath"]
public static AddProperty ( String key, Object value ) : void
key String key
value Object value
Результат void

AddVelocimacro() публичный статический Метод

Adds a new Velocimacro. Usually called by Macro only while parsing.
public static AddVelocimacro ( String name, String macro, String argArray, String sourceTemplate ) : bool
name String Name of velocimacro
macro String String form of macro body
argArray String Array of strings, containing the /// #macro() arguments. The 0th is the name. ///
sourceTemplate String Source template
Результат bool

ClearProperty() публичный статический Метод

Clear the values pertaining to a particular property.
public static ClearProperty ( String key ) : void
key String key of property to clear
Результат void

Debug() публичный статический Метод

Log a debug message.
public static Debug ( Object message ) : void
message Object message to log
Результат void

DumpVMNamespace() публичный статический Метод

Tells the vmFactory to dump the specified namespace. This is to support clearing the VM list when in inline-VM-local-scope mode
public static DumpVMNamespace ( String ns ) : bool
ns String
Результат bool

Error() публичный статический Метод

Log an error message.
public static Error ( Object message ) : void
message Object message to log
Результат void

GetApplicationAttribute() публичный статический Метод

IRuntimeServices.GetApplicationAttribute
public static GetApplicationAttribute ( Object key ) : Object
key Object key
Результат Object

GetBoolean() публичный статический Метод

Boolean property accessor method to hide the configuration implementation.
public static GetBoolean ( String key, bool def ) : bool
key String property key
def bool default value if property not found
Результат bool

GetContent() публичный статический Метод

Returns a static content resource from the resource manager. Uses the current value if INPUT_ENCODING as the character encoding. *
public static GetContent ( String name ) : ContentResource
name String Name of content resource to get ///
Результат ContentResource

GetContent() публичный статический Метод

Returns a static content resource from the resource manager. *
public static GetContent ( String name, String encoding ) : ContentResource
name String Name of content resource to get ///
encoding String Character encoding to use ///
Результат ContentResource

GetInt() публичный статический Метод

Int property accessor method to hide the configuration implementation.
public static GetInt ( String key ) : int
key String property key
Результат int

GetInt() публичный статический Метод

Int property accessor method to hide the configuration implementation.
public static GetInt ( String key, int defaultValue ) : int
key String property key
defaultValue int default value
Результат int

GetLoaderNameForResource() публичный статический Метод

Determines is a template exists, and returns name of the loader that provides it. This is a slightly less hokey way to support the Velocity.templateExists() utility method, which was broken when per-template encoding was introduced. We can revisit this. *
public static GetLoaderNameForResource ( String resourceName ) : String
resourceName String Name of template or content resource ///
Результат String

GetProperty() публичный статический Метод

Allows an external caller to get a property. The calling routine is required to know the type, as this routine will return an Object, as that is what properties can be.
public static GetProperty ( String key ) : Object
key String property to return
Результат Object

GetString() публичный статический Метод

String property accessor method to hide the configuration implementation.
public static GetString ( String key ) : String
key String property key
Результат String

GetTemplate() публичный статический Метод

Returns a Template from the resource manager. This method assumes that the character encoding of the template is set by the input.encoding property. The default is "ISO-8859-1" *
public static GetTemplate ( String name ) : Template
name String The file name of the desired template. ///
Результат Template

GetTemplate() публичный статический Метод

Returns a Template from the resource manager *
public static GetTemplate ( String name, String encoding ) : Template
name String The name of the desired template. ///
encoding String Character encoding of the template ///
Результат Template

GetVelocimacro() публичный статический Метод

Returns the appropriate VelocimacroProxy object if vmName is a valid current Velocimacro.
public static GetVelocimacro ( String vmName, String templateName ) : Directive
vmName String Name of velocimacro requested
templateName String Template Name
Результат NVelocity.Runtime.Directive.Directive

Info() публичный статический Метод

Log an info message.
public static Info ( Object message ) : void
message Object message to log
Результат void

Init() публичный статический Метод

This is the primary initialization method in the Velocity Runtime. The systems that are setup/initialized here are as follows: Logging System ResourceManager Parser Pool Global Cache Static Content Include System Velocimacro System
public static Init ( ) : void
Результат void

Init() публичный статический Метод

Initialize the Velocity Runtime with an ExtendedProperties object.
public static Init ( ExtendedProperties p ) : void
p Commons.Collections.ExtendedProperties Properties
Результат void

Init() публичный статический Метод

Initialize the Velocity Runtime with a configuration file.
public static Init ( String configurationFile ) : void
configurationFile String configuration file
Результат void

IsVelocimacro() публичный статический Метод

Checks to see if a VM exists
public static IsVelocimacro ( String vmName, String templateName ) : bool
vmName String Name of velocimacro
templateName String Template Name
Результат bool

Parse() публичный статический Метод

Parse the input and return the root of AST node structure.
In the event that it runs out of parsers in the pool, it will create and let them be GC'd dynamically, logging that it has to do that. This is considered an exceptional condition. It is expected that the user will set the PARSER_POOL_SIZE property appropriately for their application. We will revisit this.
public static Parse ( TextReader reader, String templateName ) : NVelocity.Runtime.Parser.Node.SimpleNode
reader System.IO.TextReader TextReader retrieved by a resource loader
templateName String name of the template being parsed
Результат NVelocity.Runtime.Parser.Node.SimpleNode

Parse() публичный статический Метод

Parse the input and return the root of the AST node structure.
public static Parse ( TextReader reader, String templateName, bool dumpNamespace ) : NVelocity.Runtime.Parser.Node.SimpleNode
reader System.IO.TextReader TextReader retrieved by a resource loader
templateName String name of the template being parsed
dumpNamespace bool flag to dump the Velocimacro namespace for this template
Результат NVelocity.Runtime.Parser.Node.SimpleNode

SetProperty() публичный статический Метод

Allows an external system to set a property in the Velocity Runtime.
public static SetProperty ( String key, Object value ) : void
key String property key
value Object property value
Результат void

Warn() публичный статический Метод

Log a warning message.
public static Warn ( Object message ) : void
message Object message to log
Результат void

getString() публичный статический Метод

String property accessor method with default to hide the configuration implementation.
public static getString ( String key, String defaultValue ) : String
key String property key ///
defaultValue String default value to return if key not /// found in resource manager. ///
Результат String