The datatype handler class.

This class handles the occurance of registered datatype tags like FileSet

author Andreas Aderhold
copyright 2001,2002 THYRELL. All rights reserved
version $Id: ae9b63bef4c1423d88bb36ddfc5196763828123e $
access public
package phing.parser

 Methods

Constructs a new ProjectConfigurator object This constructor is private.

__construct(\Project $project, \PhingFile $buildFile) 

Use a static call to

configureProject

to configure a project.

access private

Parameters

$project

object

the Project instance this configurator should use

$buildFile

object

the buildfile object the parser should use

Configures the #CDATA of an element.

addText(object $project, object $target, string $text) 
Static
access public

Parameters

$project

object

the project this element belongs to

$target

object

the element to configure

$text

string

the element's #CDATA

Configures an element and resolves eventually given properties.

configure(object $target, array $attrs, \Project $project) 
Static
access public

Parameters

$target

object

the element to configure

$attrs

array

the element's attributes

$project

object

the project this element belongs to

Exceptions

\Exception if arguments are not valid
\BuildException if attributes can not be configured

Scan Attributes for the id attribute and maybe add a reference to project.

configureId(object $target, array $attr) 

Parameters

$target

object

the element's object

$attr

array

the element's attributes

Static call to ProjectConfigurator.

configureProject(\Project $project, \PhingFile $buildFile) 
Static

Use this to configure a project. Do not use the new operator.

access public

Parameters

$project

object

the Project instance this configurator should use

$buildFile

object

the buildfile object the parser should use

Delay execution of a task until after the current parse phase has completed.

delayTaskUntilParseEnd(\Task $task) 

Parameters

$task

\Task

Task to execute after parse

find out the build file

getBuildFile() : \the

Returns

\thebuild file to which the xml context belongs

find out the parent build file of this build file

getBuildFileParent() : \the

Returns

\theparent build file of this build file

find out the current project name

getCurrentProjectName() : \current

Returns

\currentproject name

getCurrentTargets()

getCurrentTargets() 

tells whether the project tag is being ignored

isIgnoringProjectTag() : \whether

Returns

\whetherthe project tag is being ignored

isParsing()

isParsing() 

Replace ${} style constructions in the given value with the string value of the corresponding data types.

replaceProperties(\Project $project, string $value, array $keys, integer $logLevel) : string
Static

This method is static.

Parameters

$project

object

the project that should be used for property look-ups

$value

string

the string to be scanned for property references

$keys

array

property keys

$logLevel

integer

the level of generated log messages

Returns

stringthe replaced string or null if the string itself was null

set the name of the current project

setCurrentProjectName(\name $name) 

Parameters

$name

\name

name of the current project

sets the flag to ignore the project tag

setIgnoreProjectTag(\flag $flag) 

Parameters

$flag

\flag

to ignore the project tag

Stores a configured child element into its parent object

storeChild(object $project, object $parent, object $child, string $tag) 
Static
access public

Parameters

$project

object

the project this element belongs to

$parent

object

the parent element

$child

object

the child element

$tag

string

the XML tagname

Creates the ExpatParser, sets root handler and kick off parsing process.

parse() 
access private

Exceptions

\BuildException if there is any kind of execption during the parsing process

Private [static] function for use by preg_replace_callback to replace a single param.

replacePropertyCallback($matches) 
Static

This method makes use of a static variable to hold the

Parameters

$matches

 Properties

 

$buildFile 
 

$buildFileParent 
 

$locator 
 

$project 
 

$currentProjectName 
 

$currentTargets 
 

$ignoreProjectTag 
 

$isParsing 
 

$parseEndTarget 
 

$propReplaceLogLevel 
 

$propReplaceProject 
 

$propReplaceProperties