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

`\the`build file to which the xml context belongs

## find out the parent build file of this build file

    getBuildFileParent() : \the

### Returns

`\the`parent build file of this build file

## find out the current project name

    getCurrentProjectName() : \current

### Returns

`\current`project name

## getCurrentTargets()

    getCurrentTargets()

## tells whether the project tag is being ignored

    isIgnoringProjectTag() : \whether

### Returns

`\whether`the 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

`string`the 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