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();
}
}