<?php
require_once 'VisitorInterface.php';

abstract class 
OrganizationEntryAbstract
{
    private 
$id;
    private 
$_name;

    public function 
__construct($id$name)
    {
        
$this->_id   $id;
        
$this->_name $name;
    }

    public function 
getId()
    {
        return 
$this->_id;
    }

    public function 
getName()
    {
        return 
$this->_name;
    }

    public abstract function 
add(OrganizationEntryAbstract $entry);

    public abstract function 
getChildren();

    public function 
accept(VisitorInterface $visitor)
    {
        
$visitor->visit($this);
    }
}