Login   Register  
PHP Classes
elePHPant
Icontem

File: _classes/EventHandler.class.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Marius Zadara  >  Logger  >  _classes/EventHandler.class.php  >  Download  
File: _classes/EventHandler.class.php
Role: Class source
Content type: text/plain
Description: Event handler definition
Class: Logger
Filter and export data of application events
Author: By
Last change:
Date: 6 years ago
Size: 2,345 bytes
 

Contents

Class file image Download
<?php

/**
 * Abstract event handler.
 * This class sets the base of custom event handler.
 * These handlers are the event filters - if they accept the event, then will export it
 * 
 * 
 * @author Marius Zadara <marius@zadara.org>
 * @category org.zadara.marius.logger.classes
 * @copyright (C) 2008 Marius Zadara <marius@zadara.org>
 * @license GNU GPL
 * @package org.zadara.marius.logger
 * @abstract 
 * 
 */
abstract class EventHandler 
{
    
/**
     * Unique id of the event handler
     * @access protected
     */
    
protected $uniqueId;

    
/**
     * Event handler exporter.
     * On this exporter the export function will be called
     * if the event has been accepted.
     * 
     * @access protected
     */    
    
protected $eventExporter;
    
    
/**
     * Default constructor.
     * It sets the values of the fields.
     *
     * @access public
     * @param String $uniqueId Unique id of the handler
     * @return EventHandler
     */
    
public function EventHandler($uniqueId null)
    {
        
// set the event exporter 
        
$this->eventExporter null;
        
        
// and the unique id
        
$this->uniqueId is_null($uniqueId) ? uniqid() : $uniqueId;
    }
    
    
    
/**
     * Definition of the function that accepts the event.
     * The body of this function will be set into the custom event handlers
     * based on this class. In this function you can define any kind of rules
     * that will accept or reject the event
     * 
     * @access public
     * @param Event $event The new event to be accepted - or not
     * @return boolean
     */
    
public abstract function isEventAccepted($event);
    
    
    
/**
     * Handler unique id getter
     * @access public
     * @final 
     */
    
public final function getUniqueId()
    {        
        return 
$this->uniqueId;
    }
    
    
    
/**
     * Function to set the handler's exporter.
     * This object will be used to export the event.
     *
     * @param EventExporter $exporter The exporter object
     * @see EventExporter
     * @final 
     * @access public
     */
    
public final function setExporter($exporter)
    {
        if (
$this->eventExporter != null)
            return;
            
        
$this->eventExporter $exporter;
        
    }
    
    
    
/**
     * Function to get the event handler's exporter object.
     *
     * @access public
     * @final 
     * @return eventExporter
     */
    
public final function getExporter()
    {
        return 
$this->eventExporter;
    }
    
}


?>