# classes/phing/tasks/ext/CapsuleTask.php

## \AssignedVar
jump to top

An "inner" class for holding assigned var values.

May be need to expand beyond name/value in the future.

package
  phing.tasks.ext

### Properties

`$name= ''`
Details

Type

`$value= ''`
Details

Type

### Methods

`getName( ) :`
`getValue( ) :`
`setName( $v ) :`
Parameters

Name | Type | Description
--- | --- | ---
$v |  |

`setValue( $v ) :`
Parameters

Name | Type | Description
--- | --- | ---
$v |  |

## \CapsuleTask
jump to top

A phing task for generating output by using Capsule.

This is based on the interface to TexenTask from Apache's Velocity engine.

Extends from
  \Task
author
  Hans Lellelid
copyright
  2001,2002 THYRELL. All rights reserved
package
  phing.tasks.ext
version
  $Id: CapsuleTask.php 843 2010-09-02 14:39:13Z mrook $

### Properties

`array $assignedVars= 'array'`

Any vars assigned via the build file.

AssignedVar[]
Default value `array` Details

Type
  array

`\Capsule $context= ''`

Capsule "template" engine.

Details

Type
  \Capsule

`array $contextProperties= ''`

<p> These are properties that are fed into the initial context from a properties file. This is simply a convenient way to set some values that you wish to make available in the context.

These values are not critical, like the template path or output path, but allow a convenient way to set a value that may be specific to a particular generation task.

<

p> For example, if you are generating scripts to allow user to automatically create a database, then you might want the `$databaseName` to be placed in the initial context so that it is available in a script that might look something like the following: ``

    #!bin/sh

    echo y | mysqladmin create $databaseName

The value of `$databaseName` isn't critical to output, and you obviously don't want to change the ant task to simply take a database name. So initial context values can be set with properties file.

Details

Type
  array

`string $controlTemplate= ''`

This is the control template that governs the output.

It may or may not invoke the services of worker templates.

Details

Type
  string

`string $outputDirectory= ''`

This is where texen will place all the output that is a product of the generation process.

Details

Type
  string

`string $outputFile= ''`

This is the file where the generated text will be placed.

Details

Type
  string

`string $templatePath= ''`

This is where Velocity will look for templates using the file template loader.

Details

Type
  string

### Methods

`cleanup( ) : void`
A hook method called at the end of {@link #execute()} which can be overridden to perform any necessary cleanup activities (such as the release of database connections, etc.). By default, does nothing.
Details

throws
  Problem cleaning up.

`createAssign( ) :`
Creates an "AssignedVar" class.
`getContextProperties( ) : \Properties`
Get the context properties that will be fed into the initial context be the generating process starts.
Returns

Type | Description
--- | ---
\Properties |

`getControlTemplate( ) : string`
Get the control template for the generating process.
Returns

Type | Description
--- | ---
string |

`getOutputDirectory( ) : string`
Get the output directory.
Returns

Type | Description
--- | ---
string |

`getOutputFile( ) : string`
Get the output file for the generation process.
Returns

Type | Description
--- | ---
string |

`getTemplatePath( ) : string`
Get the path where Velocity will look for templates using the file template loader.
Returns

Type | Description
--- | ---
string |

`initControlContext( ) : \Smarty`
Creates a Smarty object.
Returns

Type | Description
--- | ---
\Smarty |

Details

throws
  the execute method will catch and rethrow as a `BuildException`

`main( ) :`
Execute the input script with Velocity
Details

throws
  BuildExceptions are thrown when required attributes are missing. Exceptions thrown by Velocity are rethrown as BuildExceptions.

`populateInitialContext( \Capsule $context ) : void`
Place useful objects into the initial context.
Parameters

Name | Type | Description
--- | --- | ---
$context | \Capsule | The context to populate, as retrieved from {@link #initControlContext()}.

Details

throws
  Error while populating context. The {@link #main()} method will catch and rethrow as a `BuildException`.

`setContextProperties( string $file ) : void`
Set the context properties that will be fed into the initial context be the generating process starts.
Parameters

Name | Type | Description
--- | --- | ---
$file | string |

`setControlTemplate( string $controlTemplate ) : void`
[REQUIRED] Set the control template for the generating process.
Parameters

Name | Type | Description
--- | --- | ---
$controlTemplate | string |

`setOutputDirectory( \PhingFile $outputDirectory ) : void`
[REQUIRED] Set the output directory. It will be created if it doesn't exist.
Parameters

Name | Type | Description
--- | --- | ---
$outputDirectory | \PhingFile |

Details

throws

`setOutputFile( string $outputFile ) : void`
[REQUIRED] Set the output file for the generation process.
Parameters

Name | Type | Description
--- | --- | ---
$outputFile | string | (TODO: change this to File)

`setTemplatePath( $templatePath ) : void`
[REQUIRED] Set the path where Velocity will look for templates using the file template loader.
Parameters

Name | Type | Description
--- | --- | ---
$templatePath |  |

Details

throws

Documentation was generated by DocBlox 0.13.1.