| 3 | //  $Id$ | //  $Id$ | 
| 4 | // --------------------------------------------------------------------------- | // --------------------------------------------------------------------------- | 
| 5 | //  $Log$ | //  $Log$ | 
| 6 |  | //  Revision 1.2  2003/02/03 05:01:27  joko | 
| 7 |  | //  + now attributes can get passed in to the constructors | 
| 8 |  | // | 
| 9 | //  Revision 1.1  2003/02/03 03:33:48  joko | //  Revision 1.1  2003/02/03 03:33:48  joko | 
| 10 | //  + initial commit | //  + initial commit | 
| 11 | // | // | 
| 14 |  |  | 
| 15 | class DesignPattern_Bridge extends DesignPattern_Logger { | class DesignPattern_Bridge extends DesignPattern_Logger { | 
| 16 |  |  | 
| 17 | function DesignPattern_Bridge($classname) { | function DesignPattern_Bridge($classname, $attributes = null) { | 
| 18 | return $this->_mkInstance($classname); | //return $this->_mkInstance($classname, $attributes); | 
| 19 |  | $this = $this->_mkInstance($classname, $attributes); | 
| 20 |  | //return $this; | 
| 21 | } | } | 
| 22 |  |  | 
| 23 | function &_mkInstance($classname) { | function &_mkInstance($classname, $attributes = null) { | 
| 24 | $this->log( get_class($this) . "->_mkInstance( classname $classname )", LOG_DEBUG ); | $this->log( get_class($this) . "->_mkInstance( classname $classname )", LOG_DEBUG ); | 
| 25 | return new $classname; | if (isset($attributes)) { | 
| 26 |  | $instance = new $classname($attributes); | 
| 27 |  | } else { | 
| 28 |  | $instance = new $classname; | 
| 29 |  | } | 
| 30 |  | return $instance; | 
| 31 | } | } | 
| 32 |  |  | 
| 33 | function _mkEmbeddedObjects($args) { | function _mkEmbeddedObjects($args) { |