# Uses of Class
org.apache.velocity.runtime.directive.Directive

Packages that use Directive
Package
Description
org.apache.velocity.runtime
org.apache.velocity.runtime.directive
org.apache.velocity.runtime.directive.contrib
org.apache.velocity.runtime.parser
org.apache.velocity.util

## Uses of Directive in org.apache.velocity.runtime

Methods in org.apache.velocity.runtime that return Directive
Modifier and Type
Method
Description
`Directive`
RuntimeInstance.`getDirective(String name)`
Retrieve a previously instantiated directive.
`Directive`
RuntimeServices.`getDirective(String name)`
Retrieve a previously instantiated directive.
`Directive`
RuntimeInstance.`getVelocimacro(String vmName, Template renderingTemplate, Template template)`
Returns the appropriate VelocimacroProxy object if vmName is a valid current Velocimacro.
`Directive`
RuntimeServices.`getVelocimacro(String vmName, Template renderingTemplate, Template template)`
Returns the appropriate VelocimacroProxy object if strVMname is a valid current Velocimacro.
`static Directive`
RuntimeSingleton.`getVelocimacro(String vmName, Template renderingTemplate, Template template)`
Returns the appropriate VelocimacroProxy object if strVMname is a valid current Velocimacro.
`Directive`
VelocimacroFactory.`getVelocimacro(String vmName, Template renderingTemplate, Template sourceTemplate)`
actual factory: creates a Directive that will behave correctly wrt getting the framework to dig out the correct # of args
Methods in org.apache.velocity.runtime with parameters of type Directive
Modifier and Type
Method
Description
`void`
RuntimeInstance.`addDirective(Directive directive)`
Programatically add a directive.

## Uses of Directive in org.apache.velocity.runtime.directive

Subclasses of Directive in org.apache.velocity.runtime.directive
Modifier and Type
Class
Description
`class`
`Block`
Directive that puts an unrendered AST block in the context under the specified key, postponing rendering until the reference is used and rendered.
`class`
`BlockMacro`
BlockMacro directive is used to invoke Velocity macros with normal parameters and a macro body.
`class`
`Break`
Break directive used for interrupting scopes.
`class`
`Define`
Directive that puts an unrendered AST block in the context under the specified key, postponing rendering until the reference is used and rendered.
`class`
`Evaluate`
Evaluates the directive argument as a VTL string, using the existing context.
`class`
`Foreach`
Foreach directive used for moving through arrays, or objects that provide an Iterator.
`class`
`Include`
Pluggable directive that handles the #include() statement in VTL.
`class`
`InputBase`
Base class for directives which do input operations (e.g.
`class`
`Macro`
Macro implements the macro definition directive of VTL.
`class`
`Parse`
Pluggable directive that handles the `#parse()` statement in VTL.
`class`
`RuntimeMacro`
This class acts as a proxy for potential macros.
`class`
`Stop`
This class implements the #stop directive which allows a user to stop the merging and rendering process.
`class`
`VelocimacroProxy`
VelocimacroProxy.java a proxy Directive-derived object to fit with the current directive system

## Uses of Directive in org.apache.velocity.runtime.directive.contrib

Subclasses of Directive in org.apache.velocity.runtime.directive.contrib
Modifier and Type
Class
Description
`class`
`For`
The #for directive provides the behavior of the #foreach directive but also provides an 'index' keyword that allows the user to define an optional index variable that tracks the loop iterations.

## Uses of Directive in org.apache.velocity.runtime.parser

Methods in org.apache.velocity.runtime.parser that return Directive
Modifier and Type
Method
Description
`Directive`
Parser.`getDirective(String directive)`
`Directive`
StandardParser.`getDirective(String directive)`
This method gets a Directive from the directives Hashtable

## Uses of Directive in org.apache.velocity.util

Methods in org.apache.velocity.util with parameters of type Directive
Modifier and Type
Method
Description
`static String`
StringUtils.`formatFileString(Directive directive)`
Creates a string that formats the template filename with line number and column of the given Directive.