linea21-externals
[ class tree: linea21-externals ] [ index: linea21-externals ] [ all elements ]

Source for file Pattern.class.php

Documentation is available at Pattern.class.php

  1. <?php
  2. /*
  3.  * This work is hereby released into the Public Domain.
  4.  * To view a copy of the public domain dedication,
  5.  * visit http://creativecommons.org/licenses/publicdomain/ or send a letter to
  6.  * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
  7.  *
  8.  */
  9.  
  10. require_once dirname(__FILE__)."/Graph.class.php";
  11.  
  12. /**
  13.  * All patterns must derivate from this class
  14.  *
  15.  * @package linea21.externals
  16.  * @subpackage artichow
  17.  */
  18. abstract class awPattern {
  19.  
  20.   /**
  21.    * Pattern arguments
  22.    *
  23.    * @var array 
  24.    */
  25.   protected $args = array();
  26.  
  27.   /**
  28.    * Load a pattern
  29.    *
  30.    * @param string $pattern Pattern name
  31.    * @return Component 
  32.    */
  33.   public static function get($pattern{
  34.  
  35.     $file ARTICHOW_PATTERN.DIRECTORY_SEPARATOR.$pattern.'.php';
  36.  
  37.     if(is_file($file)) {
  38.  
  39.       require_once $file;
  40.           
  41.       $class $pattern.'Pattern';
  42.           
  43.       if(class_exists($class)) {
  44.         return new $class;
  45.       else {
  46.         awImage::drawError("Class Pattern: Class '".$class."' does not exist.");
  47.       }
  48.  
  49.     else {
  50.       awImage::drawError("Class Pattern: Pattern '".$pattern."' does not exist.");
  51.     }
  52.  
  53.   }
  54.  
  55.   /**
  56.    * Change pattern argument
  57.    *
  58.    * @param string $name Argument name
  59.    * @param mixed $value Argument value
  60.    */
  61.   public function setArg($name$value{
  62.     if(is_string($name)) {
  63.       $this->args[$name$value;
  64.     }
  65.   }
  66.  
  67.   /**
  68.    * Get an argument
  69.    *
  70.    * @param string $name 
  71.    * @param mixed $default Default value if the argument does not exist (default to NULL)
  72.    * @return mixed Argument value
  73.    */
  74.   protected function getArg($name$default NULL{
  75.     if(array_key_exists($name$this->args)) {
  76.       return $this->args[$name];
  77.     else {
  78.       return $default;
  79.     }
  80.   }
  81.  
  82.   /**
  83.    * Change several arguments
  84.    *
  85.    * @param array $args New arguments
  86.    */
  87.   public function setArgs($args{
  88.     if(is_array($args)) {
  89.       foreach($args as $name => $value{
  90.         $this->setArg($name$value);
  91.       }
  92.     }
  93.   }
  94.  
  95. }
  96.  
  97. registerClass('Pattern'TRUE);
  98. ?>

Documentation generated on Thu, 03 May 2012 15:06:52 +0200 by phpDocumentor 1.4.1