/[cvs]/nfo/php/libs/org.netfrag.glib/Data/Lift.php
ViewVC logotype

Diff of /nfo/php/libs/org.netfrag.glib/Data/Lift.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by joko, Fri Apr 18 15:48:00 2003 UTC revision 1.9 by joko, Tue May 13 15:15:20 2003 UTC
# Line 8  Line 8 
8   *   *
9   */   */
10    
11  //    -------------------------------------------------------------------------  /**
12  //    $Id$   * Cvs-Log:
13  //    -------------------------------------------------------------------------   *
14  //    $Log$   * $Id$
15  //    Revision 1.7  2003/04/18 15:48:00  joko   *
16  //    better error handling: a) croak messages, b) just perform lift module if instance could be created   * $Log$
17  //   * Revision 1.9  2003/05/13 15:15:20  joko
18  //    Revision 1.6  2003/03/09 15:49:20  joko   * option propagation generic again
19  //    fix towards optimizing autodocumentation:   *
20  //    enriched with metadata to tell autodia how to build object-relationships by discarding the fancy namespacing stuff there   * Revision 1.8  2003/04/19 16:13:52  jonen
21  //   * + added class var '$_hidden_elements' which are passed to 'ExplorerTree' if exists
22  //    Revision 1.5  2003/03/08 20:04:59  root   *
23  //    + optimized comments for Autodia   * Revision 1.7  2003/04/18 15:48:00  joko
24  //   * better error handling: a) croak messages, b) just perform lift module if instance could be created
25  //    Revision 1.4  2003/03/08 18:22:23  joko   *
26  //    updated comments: now in phpDocumentor style   * Revision 1.6  2003/03/09 15:49:20  joko
27  //   * fix towards optimizing autodocumentation:
28  //    Revision 1.3  2003/03/03 21:28:11  joko   * enriched with metadata to tell autodia how to build object-relationships by discarding the fancy namespacing stuff there
29  //    updated comments   *
30  //   * Revision 1.5  2003/03/08 20:04:59  root
31  //    Revision 1.2  2003/02/27 16:30:17  joko   * + optimized comments for Autodia
32  //    + enhanced '_autodetect'   *
33  //    + added '_check'   * Revision 1.4  2003/03/08 18:22:23  joko
34  //    + now throughout returning lifted values by reference   * updated comments: now in phpDocumentor style
35  //   *
36  //    Revision 1.1  2003/02/22 16:20:04  joko   * Revision 1.3  2003/03/03 21:28:11  joko
37  //    + initial commit   * updated comments
38  //   *
39  //    -------------------------------------------------------------------------   * Revision 1.2  2003/02/27 16:30:17  joko
40     * + enhanced '_autodetect'
41     * + added '_check'
42     * + now throughout returning lifted values by reference
43     *
44     * Revision 1.1  2003/02/22 16:20:04  joko
45     * + initial commit
46     *
47     */
48    
49  /**  /**
50   * --- Data::Lift   * Data::Lift
51   *   *
52   * <pre>   * <pre>
53   *    Data::Lift  -  Pass data around between various "actors".   *    Data::Lift  -  Pass data around between various "actors".
# Line 99  class Data_Lift { Line 104  class Data_Lift {
104    var $payload;    var $payload;
105    var $vartype;    var $vartype;
106    var $metatype;    var $metatype;
107      var $_link_args = NULL;
108    
109    function Data_Lift(&$payload, $options = array()) {    function Data_Lift(&$payload, $options = array()) {
110      $this->_init_locations();      $this->_init_locations();
111      //print Dumper($options);      //print Dumper($options);
112      //exit;      //exit;
113        $this->options = $options;
114      if ($options[metatype]) { $this->metatype = $options[metatype]; }      if ($options[metatype]) { $this->metatype = $options[metatype]; }
115        if ($options[link_args]) { $this->_link_args = $options[link_args]; }
116      $this->set(&$payload);      $this->set(&$payload);
117    }    }
118        
# Line 205  class Data_Lift { Line 213  class Data_Lift {
213            
214      // fix [2003-04-13]: just perform if instance good      // fix [2003-04-13]: just perform if instance good
215      //if ($actor_object = php::mkComponent($actor_name)) {      //if ($actor_object = php::mkComponent($actor_name)) {
216      $actor_object = mkObject($actor_name);      // enhanced [2003-04-20]: pass Lift's options to actor's constructor
217        $actor_object = mkObject($actor_name, $this->options);
218      if (is_object($actor_object) && method_exists($actor_object, 'perform')) {      if (is_object($actor_object) && method_exists($actor_object, 'perform')) {
219          // enhanced [2003-04-20]: *inject* Lift's options to actor's instance - prefix attribute by '_' to prevent collisions
220          $actor_object->_options = $this->options;
221        return $actor_object->perform($this->payload);        return $actor_object->perform($this->payload);
222          if ($actor_name == "Data/Lift/hash/topic/ExplorerTree") {
223            return $actor_object->perform($this->payload, $this->_link_args);
224          } else {
225            return $actor_object->perform($this->payload);
226          }
227      } else {      } else {
228        user_error("Data::Lift could not call method 'perform' on actor object. [actor_name='$actor_name']");        user_error("Data::Lift could not call method 'perform' on actor object. [actor_name='$actor_name']");
229        //return array();        //return array();

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.9

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed