/** * A DataObject is related to a container and has a name * * If `$name` is specified, then it attempts to retrieve the object from the * object store. * * @param Container $container the container holding this object * @param mixed $cdata if an object or array, it is treated as values * with which to populate the object. If it is a string, it is * treated as a name and the object's info is retrieved from * the service. * @return void */ public function __construct($container, $cdata = NULL) { parent::__construct(); $this->container = $container; if (is_object($cdata)) { foreach ($cdata as $property => $value) { if ($property == 'metadata') { $this->metadata->SetArray($value); } else { $this->{$property} = $value; } } } elseif (isset($cdata)) { $this->name = $cdata; $this->Fetch(); } }
/** * Creates the container object * * Creates a new container object or, if the $cdata object is a string, * retrieves the named container from the object store. If $cdata is an * array or an object, then its values are used to set this object. * * @param OpenCloud\ObjectStore $service - the ObjectStore service * @param mixed $cdata - if supplied, the name of the object */ public function __construct(\OpenCloud\Service $service, $cdata = NULL) { $this->debug(_('Initializing Container...')); parent::__construct(); $this->service = $service; // set values from an object (via containerlist) if (is_object($cdata)) { foreach ($cdata as $name => $value) { if ($name == 'metadata') { $this->metadata->SetArray($value); } else { $this->{$name} = $value; } } } else { if ($cdata) { $this->debug(_('Getting container [%s]'), $cdata); $this->name = $cdata; $this->Refresh(); } } }