Class TDirectoryCacheDependency
TDirectoryCacheDependency class.
TDirectoryCacheDependency performs dependency checking based on the modification time of the files contained in the specified directory. The directory being checked is specified via Directory. By default, all files under the specified directory and subdirectories will be checked. If the last modification time of any of them is changed or if different number of files are contained in a directory, the dependency is reported as changed. By specifying RecursiveCheck and RecursiveLevel, one can limit the checking to a certain depth of the subdirectories.
Constructor Summary |
public |
Constructor.
|
Method Summary |
protected
array
|
Determines the last modification time for files under the directory.
|
string
|
|
boolean
|
Performs the actual dependency checking.
|
boolean
|
|
int
|
|
void
|
|
void
|
|
void
|
Sets a value indicating the depth of the subdirectories to be checked.
|
protected
boolean
|
Checks to see if the specified subdirectory should be checked for dependency.
|
protected
boolean
|
Checks to see if the file should be checked for dependency.
|
Methods Inherited From TComponent |
TComponent::addParsedObject(), TComponent::attachEventHandler(), TComponent::canGetProperty(), TComponent::canSetProperty(), TComponent::createdOnTemplate(), TComponent::detachEventHandler(), TComponent::evaluateExpression(), TComponent::evaluateStatements(), TComponent::getEventHandlers(), TComponent::getSubProperty(), TComponent::hasEvent(), TComponent::hasEventHandler(), TComponent::hasProperty(), TComponent::raiseEvent(), TComponent::setSubProperty(), TComponent::__get(), TComponent::__set()
|
Constructor Details |
__construct
Constructor.
|
Method Details |
generateTimestamps
protected array generateTimestamps |
(string $directory , int $level ) |
Determines the last modification time for files under the directory.
This method may go recursively into subdirectories if RecursiveCheck is set true.
Input |
string | $directory | the directory name |
int | $level | level of the recursion |
Output |
array
| list of file modification time indexed by the file path |
Exception |
|
getDirectory
public string getDirectory |
() |
Output |
string
| the directory to be checked |
Exception |
|
getHasChanged
public boolean getHasChanged |
() |
Performs the actual dependency checking.
This method returns true if the directory is changed.
Output |
boolean
| whether the dependency is changed or not. |
Exception |
|
getRecursiveCheck
public boolean getRecursiveCheck |
() |
Output |
boolean
| whether the subdirectories of the directory will also be checked. It defaults to true. |
Exception |
|
getRecursiveLevel
public int getRecursiveLevel |
() |
Output |
int
| the depth of the subdirectories to be checked. It defaults to -1, meaning unlimited depth. |
Exception |
|
setDirectory
public void setDirectory |
(string $directory ) |
Input |
string | $directory | the directory to be checked |
Output |
Exception |
throws | TInvalidDataValueException if the directory does not exist |
|
setRecursiveCheck
public void setRecursiveCheck |
(boolean $value ) |
Input |
boolean | $value | whether the subdirectories of the directory will also be checked. |
Output |
Exception |
|
setRecursiveLevel
public void setRecursiveLevel |
(int $value ) |
Sets a value indicating the depth of the subdirectories to be checked.
This is meaningful only when RecursiveCheck is true.
Input |
int | $value | the depth of the subdirectories to be checked. If the value is less than 0, it means unlimited depth. If the value is 0, it means checking the files directly under the specified directory. |
Output |
Exception |
|
validateDirectory
protected boolean validateDirectory |
(string $directory ) |
Checks to see if the specified subdirectory should be checked for dependency.
This method is invoked when dependency of the whole directory is being checked. By default, it always returns true, meaning the subdirectory should be checked. You may override this method to check only certain subdirectories.
Input |
string | $directory | the name of the subdirectory that may be checked for dependency. |
Output |
boolean
| whether this subdirectory should be checked. |
Exception |
|
validateFile
protected boolean validateFile |
(string $fileName ) |
Checks to see if the file should be checked for dependency.
This method is invoked when dependency of the whole directory is being checked. By default, it always returns true, meaning the file should be checked. You may override this method to check only certain files.
Input |
string | $fileName | the name of the file that may be checked for dependency. |
Output |
boolean
| whether this file should be checked. |
Exception |
|
|