private $filters = array();
/**
- * Private constructor
+ * Protected constructor
*
* @return void
*/
parent::__construct(__CLASS__);
// Set part description
- $this->setObjectDescription("");
+ $this->setObjectDescription("A filter chain class");
// Create unique ID number
- $this->createUniqueID();
+ $this->generateUniqueId();
// Clean up a little
$this->removeNumberFormaters();
*/
public function processFilters (Requestable $requestInstance, Responseable $responseInstance) {
// Run all filters
+ //* DEBUG */ echo "COUNT=".count($this->filters)."<br />\n";
foreach ($this->filters as $filterInstance) {
- // Execute this filter
- //* DEBUG */ echo "FILTER: ".$filterInstance->__toString().": Processing started.<br />\n";
+ // Try to execute this filter
+ try {
+ //* DEBUG */ echo "FILTER: ".$filterInstance->__toString().": Processing started.<br />\n";
$filterInstance->execute($requestInstance, $responseInstance);
- //* DEBUG */ echo "FILTER: ".$filterInstance->__toString().": Processing ended.<br />\n";
- }
+ //* DEBUG */ echo "FILTER: ".$filterInstance->__toString().": Processing ended.<br />\n";
+ } catch (FilterChainException $e) {
+ // This exception can be thrown to just skip any further processing
+ break;
+ }
+ } // END - foreach
}
}