mirror of
https://github.com/Karaka-Management/Resources.git
synced 2026-01-10 21:08:41 +00:00
87 lines
1.8 KiB
PHP
87 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace PayPal\Api;
|
|
|
|
use PayPal\Common\PayPalModel;
|
|
|
|
/**
|
|
* Class PatchRequest
|
|
*
|
|
* A JSON patch request.
|
|
*
|
|
* @package PayPal\Api
|
|
*
|
|
* @property \PayPal\Api\Patch[] patches
|
|
*/
|
|
class PatchRequest extends PayPalModel
|
|
{
|
|
/**
|
|
* Placeholder for holding array of patch objects
|
|
*
|
|
* @param \PayPal\Api\Patch[] $patches
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setPatches($patches)
|
|
{
|
|
$this->patches = $patches;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Placeholder for holding array of patch objects
|
|
*
|
|
* @return \PayPal\Api\Patch[]
|
|
*/
|
|
public function getPatches()
|
|
{
|
|
return $this->patches;
|
|
}
|
|
|
|
/**
|
|
* Append Patches to the list.
|
|
*
|
|
* @param \PayPal\Api\Patch $patch
|
|
* @return $this
|
|
*/
|
|
public function addPatch($patch)
|
|
{
|
|
if (!$this->getPatches()) {
|
|
return $this->setPatches(array($patch));
|
|
} else {
|
|
return $this->setPatches(
|
|
array_merge($this->getPatches(), array($patch))
|
|
);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Remove Patches from the list.
|
|
*
|
|
* @param \PayPal\Api\Patch $patch
|
|
* @return $this
|
|
*/
|
|
public function removePatch($patch)
|
|
{
|
|
return $this->setPatches(
|
|
array_diff($this->getPatches(), array($patch))
|
|
);
|
|
}
|
|
|
|
/**
|
|
* As PatchRequest holds the array of Patch object, we would override the json conversion to return
|
|
* a json representation of array of Patch objects.
|
|
*
|
|
* @param int $options
|
|
* @return mixed|string
|
|
*/
|
|
public function toJSON($options = 0)
|
|
{
|
|
$json = array();
|
|
foreach ($this->getPatches() as $patch) {
|
|
$json[] = $patch->toArray();
|
|
}
|
|
return str_replace('\\/', '/', json_encode($json, $options));
|
|
}
|
|
}
|