_driver = $driver; } /** * Returns the metadata object for a class. * * @param string $className The name of the class. * @return Doctrine_Metadata */ public function getMetadataFor($className) { if ( ! isset($this->_loadedMetadata[$className])) { $this->_loadMetadata($className); $this->_validateAndCompleteMetadata($className); } return $this->_loadedMetadata[$className]; } /** * Loads the metadata for the given class. * * @param $className * @return */ protected function _loadMetadata($className) { $classMetadata = new Doctrine_Common_ClassMetadata(); $this->_driver->loadMetadataForClass($className, $classMetadata); return $classMetadata; } /** Template method for subclasses */ protected function _validateAndCompleteMetadata($className) { /*empty*/ } } ?>