1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 
	<?php
namespace Basho\Riak\Command;
use Basho\Riak\Command;
use Basho\Riak\Location;
abstract class Object extends Command
{
    
    protected $response = NULL;
    
    protected $object = NULL;
    
    protected $location = NULL;
    protected $decodeAsAssociative = false;
    public function getObject()
    {
        return $this->object;
    }
    public function getLocation()
    {
        return $this->location;
    }
    public function getEncodedData()
    {
        $data = $this->getData();
        if (in_array($this->object->getContentType(), ['application/json', 'text/json'])) {
            return json_encode($data);
        }
        return rawurlencode($data);
    }
    public function getDecodedData($data, $contentType)
    {
        return static::decodeData($data, $contentType, $this->decodeAsAssociative);
    }
    public static function decodeData($data, $contentType = '', $decodeAsAssociative = false)
    {
        if (in_array($contentType, ['application/json', 'text/json'])) {
            return json_decode($data, $decodeAsAssociative);
        }
        return rawurldecode($data);
    }
    public function getData()
    {
        return $this->object->getData();
    }
    
    public function execute()
    {
        return parent::execute();
    }
}