Microsoft_WindowsAzure
[ class tree: Microsoft_WindowsAzure ] [ index: Microsoft_WindowsAzure ] [ all elements ]

Source for file BlobInstance.php

Documentation is available at BlobInstance.php

  1. <?php
  2. /**
  3.  * Copyright (c) 2009, RealDolmen
  4.  * All rights reserved.
  5.  *
  6.  * Redistribution and use in source and binary forms, with or without
  7.  * modification, are permitted provided that the following conditions are met:
  8.  *     * Redistributions of source code must retain the above copyright
  9.  *       notice, this list of conditions and the following disclaimer.
  10.  *     * Redistributions in binary form must reproduce the above copyright
  11.  *       notice, this list of conditions and the following disclaimer in the
  12.  *       documentation and/or other materials provided with the distribution.
  13.  *     * Neither the name of RealDolmen nor the
  14.  *       names of its contributors may be used to endorse or promote products
  15.  *       derived from this software without specific prior written permission.
  16.  *
  17.  * THIS SOFTWARE IS PROVIDED BY RealDolmen ''AS IS'' AND ANY
  18.  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  19.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  20.  * DISCLAIMED. IN NO EVENT SHALL RealDolmen BE LIABLE FOR ANY
  21.  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  22.  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  23.  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  24.  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  26.  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27.  *
  28.  * @category   Microsoft
  29.  * @package    Microsoft_WindowsAzure
  30.  * @subpackage Storage
  31.  * @copyright  Copyright (c) 2009, RealDolmen (http://www.realdolmen.com)
  32.  * @license    http://phpazure.codeplex.com/license
  33.  * @version    $Id: BlobInstance.php 28585 2009-09-07 12:12:56Z unknown $
  34.  */
  35.  
  36. /**
  37.  * @see Microsoft_WindowsAzure_Exception
  38.  */
  39. require_once 'Microsoft/WindowsAzure/Exception.php';
  40.  
  41.  
  42. /**
  43.  * @category   Microsoft
  44.  * @package    Microsoft_WindowsAzure
  45.  * @subpackage Storage
  46.  * @copyright  Copyright (c) 2009, RealDolmen (http://www.realdolmen.com)
  47.  * @license    http://phpazure.codeplex.com/license
  48.  * 
  49.  * @property string  $Container       Container name
  50.  * @property string  $Name            Name
  51.  * @property string  $Etag            Etag
  52.  * @property string  $LastModified    Last modified date
  53.  * @property string  $Url             Url
  54.  * @property int     $Size            Size
  55.  * @property string  $ContentType     Content Type
  56.  * @property string  $ContentEncoding Content Encoding
  57.  * @property string  $ContentLanguage Content Language
  58.  * @property boolean $IsPrefix        Is Prefix?
  59.  * @property array   $Metadata        Key/value pairs of meta data
  60.  */
  61. {
  62.     /**
  63.      * Data
  64.      * 
  65.      * @var array 
  66.      */
  67.     protected $_data = null;
  68.     
  69.     /**
  70.      * Constructor
  71.      * 
  72.      * @param string  $containerName   Container name
  73.      * @param string  $name            Name
  74.      * @param string  $etag            Etag
  75.      * @param string  $lastModified    Last modified date
  76.      * @param string  $url             Url
  77.      * @param int     $size            Size
  78.      * @param string  $contentType     Content Type
  79.      * @param string  $contentEncoding Content Encoding
  80.      * @param string  $contentLanguage Content Language
  81.      * @param boolean $isPrefix        Is Prefix?
  82.      * @param array   $metadata        Key/value pairs of meta data
  83.      */
  84.     public function __construct($containerName$name$etag$lastModified$url ''$size 0$contentType ''$contentEncoding ''$contentLanguage ''$isPrefix false$metadata array()) 
  85.     {            
  86.         $this->_data = array(
  87.             'container'        => $containerName,
  88.             'name'             => $name,
  89.             'etag'             => $etag,
  90.             'lastmodified'     => $lastModified,
  91.             'url'              => $url,
  92.             'size'             => $size,
  93.             'contenttype'      => $contentType,
  94.             'contentencoding'  => $contentEncoding,
  95.             'contentlanguage'  => $contentLanguage,
  96.             'isprefix'         => $isPrefix,
  97.             'metadata'         => $metadata
  98.         );
  99.     }
  100.     
  101.     /**
  102.      * Magic overload for setting properties
  103.      * 
  104.      * @param string $name     Name of the property
  105.      * @param string $value    Value to set
  106.      */
  107.     public function __set($name$value{
  108.         if (array_key_exists(strtolower($name)$this->_data)) {
  109.             $this->_data[strtolower($name)$value;
  110.             return;
  111.         }
  112.  
  113.         throw new Exception("Unknown property: " $name);
  114.     }
  115.  
  116.     /**
  117.      * Magic overload for getting properties
  118.      * 
  119.      * @param string $name     Name of the property
  120.      */
  121.     public function __get($name{
  122.         if (array_key_exists(strtolower($name)$this->_data)) {
  123.             return $this->_data[strtolower($name)];
  124.         }
  125.  
  126.         throw new Exception("Unknown property: " $name);
  127.     }
  128. }

Documentation generated on Thu, 26 Nov 2009 08:04:48 +0100 by phpDocumentor 1.4.3