# classes/phing/types/selectors/SelectorUtils.php

<p>This is a utility class used by selectors and DirectoryScanner. The functionality more properly belongs just to selectors, but unfortunately DirectoryScanner exposed these as protected methods. Thus we have to support any subclasses of DirectoryScanner that may access these methods.

This is a Singleton.

author
  Hans Lellelid, hans@xmpl.org (Phing)
author
  Arnout J. Kuiper, ajkuiper@wxs.nl (Ant)
author
  Magesh Umasankar
author
  Bruce Atherton, bruce@callenish.com (Ant)
package
  phing.types.selectors

## \SelectorUtils
jump to top

<p>This is a utility class used by selectors and DirectoryScanner. The functionality more properly belongs just to selectors, but unfortunately DirectoryScanner exposed these as protected methods. Thus we have to support any subclasses of DirectoryScanner that may access these methods.

This is a Singleton.

author
  Hans Lellelid, hans@xmpl.org (Phing)
author
  Arnout J. Kuiper, ajkuiper@wxs.nl (Ant)
author
  Magesh Umasankar
author
  Bruce Atherton, bruce@callenish.com (Ant)
package
  phing.types.selectors

### Properties

`$instance= ''`
static
Details

Type

### Methods

`getInstance( ) :`
staticRetrieves the instance of the Singleton.
`isOutOfDate( \PhingFile $src, \PhingFile $target, int $granularity ) : \whether`
staticReturns dependency information on these two files. If src has been modified later than target, it returns true. If target doesn't exist, it likewise returns true. Otherwise, target is newer than src and is not out of date, thus the method returns false. It also returns false if the src file doesn't even exist, since how could the target then be out of date.
Parameters

Name | Type | Description
--- | --- | ---
$src | \PhingFile | the original file
$target | \PhingFile | the file being compared against
$granularity | int | the amount in seconds of slack we will give in determining out of dateness

Returns

Type | Description
--- | ---
\whether |

`match( \pattern $pattern, \str $str, \isCaseSensitive $isCaseSensitive = true ) : \<code>true</code>`
staticTests whether or not a string matches against a pattern.

The pattern may contain two special characters:
'*' means zero or more characters
'?' means one and only one character

Parameters

Name | Type | Description
--- | --- | ---
$pattern | \pattern | The pattern to match against. Must not be `null`.
$str | \str | The string which must be matched against the pattern. Must not be `null`.
$isCaseSensitive | \isCaseSensitive | Whether or not matching should be performed case sensitively.

Returns

Type | Description
--- | ---
\<code>true</code> |

`matchPath( \pattern $pattern, \str $str, \isCaseSensitive $isCaseSensitive = true ) : \<code>true</code>`
staticTests whether or not a given path matches a given pattern.
Parameters

Name | Type | Description
--- | --- | ---
$pattern | \pattern | The pattern to match against. Must not be `null`.
$str | \str | The path to match, as a String. Must not be `null`.
$isCaseSensitive | \isCaseSensitive | Whether or not matching should be performed case sensitively.

Returns

Type | Description
--- | ---
\<code>true</code> |

`matchPatternStart( \pattern $pattern, \str $str, \isCaseSensitive $isCaseSensitive = true ) : \whether`
staticTests whether or not a given path matches the start of a given pattern up to the first "**".

<

p> This is not a general purpose test and should only be used if you can live with false positives. For example, `pattern=**\a` and `str=b` will yield `true`.

Parameters

Name | Type | Description
--- | --- | ---
$pattern | \pattern | The pattern to match against. Must not be `null`.
$str | \str | The path to match, as a String. Must not be `null`.
$isCaseSensitive | \isCaseSensitive | Whether or not matching should be performed case sensitively.

Returns

Type | Description
--- | ---
\whether |

Documentation was generated by DocBlox 0.13.1.