* @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version CVS: $Id: LinkClasses.inc 253641 2008-02-24 02:35:44Z ashnazg $ * @filesource * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @since 1.2.0 * @todo CS cleanup - change package to PhpDocumentor */ /** * linking classes parent * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class abstractLink { /**#@+ * @var string */ var $path; /** * phpdoc alias _phpdoc_inc for phpdoc.inc */ var $fileAlias = ''; /** * element type linked to. * can only be a documentable element */ var $type = ''; var $name = ''; var $category = ''; var $package = ''; var $subpackage = ''; /**#@-*/ /** * sets up the link * * @param string $path full path to file containing element * @param string $fileAlias page name, as configured by {@link Parser::parse} * @param string $name element name * @param string $package package element is in * @param string $subpackage subpackage element is in * @param string $category optional category that documentation is in * * @return void */ function addLink($path, $fileAlias, $name, $package, $subpackage, $category = false) { $this->path = $path; $this->fileAlias = $fileAlias; $this->name = $name; $this->category = $category; $this->package = $package; $this->subpackage = $subpackage; } } /** * procedural page link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class pageLink extends abstractLink { /** * @var string */ var $type = 'page'; } /** * function link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class functionLink extends abstractLink { /** * @var string */ var $type = 'function'; } /** * define link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class defineLink extends abstractLink { /** * @var string */ var $type = 'define'; } /** * global variable link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class globalLink extends abstractLink { /** * @var string */ var $type = 'global'; } /** * class link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class classLink extends abstractLink { /** * @var string */ var $type = 'class'; } /** * method link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class methodLink extends abstractLink { /** * @var string */ var $type = 'method'; /** * @var string */ var $class = ''; /** * sets up the link * * @param string $class class name * @param string $path full path to file containing element * @param string $fileAlias page name, as configured by {@link Parser::parse} * @param string $name element name * @param string $package package element is in * @param string $subpackage subpackage element is in * @param string $category optional category that documentation is in * * @return void */ function addLink($class, $path , $fileAlias, $name, $package, $subpackage, $category = false) { $this->class = $class; abstractLink::addLink($path, $fileAlias, $name, $package, $subpackage, $category); } } /** * class variable link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class varLink extends methodLink { /** * @var string */ var $type = 'var'; } /** * class constant link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class constLink extends methodLink { /** * @var string */ var $type = 'const'; } /** * tutorial link * * @category ToolsAndUtilities * @package phpDocumentor * @subpackage Links * @author Gregory Beaver * @copyright 2002-2008 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version Release: 1.4.3 * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @todo CS cleanup - change package to PhpDocumentor * @todo CS cleanup - change classname to PhpDocumentor_* */ class tutorialLink extends abstractLink { /**#@+ * @var string */ var $type = 'tutorial'; var $section = ''; var $title = false; /**#@-*/ /** * sets up the link * * @param string $section section/subsection name * @param string $path full path to file containing element * @param string $name page name, as configured by {@link Parser::parse} * @param string $package package element is in * @param string $subpackage subpackage element is in * @param string $title title of tutorial * @param string $category optional category that documentation is in * * @return void */ function addLink($section, $path, $name, $package, $subpackage, $title = false, $category = false) { $this->section = $section; $this->title = $title; parent::addLink($path, '', $name, $package, $subpackage, $category); } } ?>