/**
     * Generates the base collection class
     *
     * @return string the generated PHP code
     * @author Anthony Bush
     **/
    protected function generateBaseCollection($table)
    {
        $dbName = $table->getDatabase()->getDatabaseName();
        $tableName = $table->getTableName();
        $starterObjectClassName = $this->config->getStarterObjectClassName($table);
        $starterCollectionClassName = $this->config->getStarterCollectionClassName($table);
        $baseObjectClassName = $this->config->getBaseObjectClassName($table);
        $baseCollectionClassName = $this->config->getBaseCollectionClassName($table);
        $phpdocTags = $this->generatePhpdocTags($table);
        $phpdocTags[] = '@see ' . $starterCollectionClassName . ', CoughCollection';
        $extensionClassName = $this->config->getCollectionExtensionClassName($table);
        ob_start();
        echo "<?php\n\n";
        ?>
/**
 * This is the base class for <?php 
        echo $starterCollectionClassName;
        ?>
.
 *
 * <?php 
        echo implode("\n * ", $phpdocTags) . "\n";
        ?>
 **/
abstract class <?php 
        echo $baseCollectionClassName;
        ?>
 extends <?php 
        echo $extensionClassName;
        ?>
 {
	protected $dbAlias = '<?php 
        echo $dbName;
        ?>
';
	protected $dbName = '<?php 
        echo $dbName;
        ?>
';
	protected $elementClassName = '<?php 
        echo $starterObjectClassName;
        ?>
';
}
<?php 
        echo "\n?>";
        // Add the class
        $class = new CoughClass();
        $class->setContents(ob_get_clean());
        $class->setIsStarterClass(false);
        $class->setIsCollectionClass(true);
        $class->setClassName($baseCollectionClassName);
        $class->setDatabaseName($dbName);
        $class->setTableName($tableName);
        $this->addGeneratedClass($class);
    }