<?php

require_once 'common/Object.php';

/**
 * This is a base class that's used as root class for abstract objects, and 
 * trys to avoid the instantiation of the subclasses. But, it'll work only 
 * if its constructor is invoked.
 * 
 * @author  $Author: pruna $
 * @package common
 * @version $Revision: 1.2 $
 * @created 08-Jan-2004
 * @modified $Date: 2005/12/05 23:45:54 $
 */
class AbstractObject extends Object {

    /**
     * Generates an exception if this class has been instantiated.
     *
     * @access    public
     * @final 
     */
    final public function __construct() {
        throw new BaseException("Trying to instantiating an abstract class " 
            . "'" . ObjectInspector::getClass($this) . "'", 
            BaseException::CODE_INSTANTIATE_ABSTRACT_CLASS, $this);
    }

}

?>