forked from LiveCarta/PayPal-PHP-SDK
Enabled Billing Plans and Agreements APIs
- Added API Classes, Samples, and Tests - Updated Functional Tests - Updated Documentation with new SDK Name - Updated Few Samples to use newer nicer result page
This commit is contained in:
86
lib/PayPal/Api/PatchRequest.php
Normal file
86
lib/PayPal/Api/PatchRequest.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace PayPal\Api;
|
||||
|
||||
use PayPal\Common\PPModel;
|
||||
|
||||
/**
|
||||
* Class PatchRequest
|
||||
*
|
||||
* Request object used for a JSON Patch.
|
||||
*
|
||||
* @package PayPal\Api
|
||||
*
|
||||
* @property \PayPal\Api\Patch[] patches
|
||||
*/
|
||||
class PatchRequest extends PPModel
|
||||
{
|
||||
/**
|
||||
* 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 json_encode($json, $options);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user