Documentation

AbstractSchemaResource extends BaseResource implements ArrayAccess

Class that represents abstracted functionality for JSON schema objects. Because the nature of these objects is so dynamic (i.e. their structure is determined by an API-generated schema document), they implement the \ArrayAccess SPL interface. This allows them to be accessed as arrays - which is very useful for undefined properties.

Tags
codeCoverageIgnore

Interfaces, Classes and Traits

ArrayAccess

Table of Contents

PATCH_CONTENT_TYPE  = OpenCloudCommonConstantsMime::JSON_PATCH
$aliases  : array<string|int, mixed>
The aliases configure for the properties of the instance.
$data  : array<string|int, mixed>
$id  : string
$metadata  : Metadata
$parent  : BaseResource
$service  : ServiceInterface
$logger  : LoggerInterface
The logger instance
$properties  : array<string|int, mixed>
Holds all the properties added by overloading.
__call()  : mixed
Intercept non-existent method calls for dynamic getter/setter functionality.
__construct()  : mixed
checkJsonError()  : mixed
Checks the most recent JSON operation for errors.
findLink()  : bool
Find a resource link based on a type
generateUuid()  : mixed
getClient()  : ClientInterface
Convenience method to return the service's client
getData()  : array<string|int, mixed>
getId()  : string
getInstance()  : static
getLogger()  : LoggerInterface
Returns the Logger object.
getMetadata()  : Metadata
getParent()  : mixed
getService()  : ServiceInterface
getUrl()  : mixed
Get this resource's URL
hasLogger()  : bool
jsonCollectionElement()  : string
Returns the nested keys that could (rarely) prefix collection items. For example:
jsonCollectionName()  : string
Returns the top-level key for collection responses
jsonName()  : mixed
Returns the top-level key for the returned response JSON document
makeResourceIteratorOptions()  : mixed
offsetExists()  : bool
Checks to see whether a particular offset key exists.
offsetGet()  : mixed|null
Get the value for a particular offset key.
offsetSet()  : mixed
Sets a value to a particular offset.
offsetUnset()  : mixed
Unset a particular key.
parseResponse()  : mixed
Parse a HTTP response for the required content
populate()  : mixed
Populates the current object based on an unknown data type.
resourceName()  : mixed
Returns the URI path for this resource
setData()  : mixed
setId()  : mixed
setLogger()  : $this
Sets the logger.
setMetadata()  : $this
setParent()  : self
setService()  : PersistentObject
stripNamespace()  : mixed
toCamel()  : mixed
Convert a string to camelCase format.
toUnderscores()  : mixed
Convert string to underscore format.
url()  : mixed
getJsonHeader()  : mixed
getPatchHeaders()  : mixed
getProperty()  : mixed
Grab value out of the data array.
primaryKeyField()  : string
Returns the primary key field for the object
propertyExists()  : bool
Basic check to see whether property exists.
setProperty()  : mixed
We can set a property under three conditions:
checkAttributePrefix()  : bool
Checks the attribute $property and only permits it if the prefix is in the specified $prefixes array
isAccessible()  : bool
Does the property exist in the object variable list (i.e. does it have public or protected visibility?)

Constants

PATCH_CONTENT_TYPE

public mixed PATCH_CONTENT_TYPE = OpenCloudCommonConstantsMime::JSON_PATCH

Properties

$aliases

The aliases configure for the properties of the instance.

protected array<string|int, mixed> $aliases = array()

$properties

Holds all the properties added by overloading.

private array<string|int, mixed> $properties = array()

Methods

__call()

Intercept non-existent method calls for dynamic getter/setter functionality.

public __call( $method,  $args) : mixed
Parameters
$method :
$args :
Tags
throws
RuntimeException
Return values
mixed

checkJsonError()

Checks the most recent JSON operation for errors.

public static checkJsonError() : mixed
Tags
throws
JsonError
codeCoverageIgnore
Return values
mixed

Find a resource link based on a type

public findLink([string $type = 'self' ]) : bool
Parameters
$type : string = 'self'
Return values
bool

generateUuid()

public static generateUuid() : mixed
Return values
mixed

getData()

public getData() : array<string|int, mixed>
Return values
array<string|int, mixed>

getInstance()

public static getInstance() : static
Return values
static

getParent()

public getParent() : mixed
Return values
mixed

getUrl()

Get this resource's URL

public getUrl([null $path = null ][, array<string|int, mixed> $query = array() ]) : mixed
Parameters
$path : null = null

URI path to add on

$query : array<string|int, mixed> = array()

Query to add on

Return values
mixed

hasLogger()

public hasLogger() : bool
Return values
bool

jsonCollectionElement()

Returns the nested keys that could (rarely) prefix collection items. For example:

public static jsonCollectionElement() : string

{ "keypairs": [ { "keypair": { "fingerprint": "...", "name": "key1", "public_key": "..." } }, { "keypair": { "fingerprint": "...", "name": "key2", "public_key": "..." } } ] }

In the above example, "keypairs" would be the $json_collection_name and "keypair" would be the $json_collection_element

Return values
string

jsonCollectionName()

Returns the top-level key for collection responses

public static jsonCollectionName() : string
Return values
string

jsonName()

Returns the top-level key for the returned response JSON document

public static jsonName() : mixed
Tags
throws
DocumentError
Return values
mixed

makeResourceIteratorOptions()

public makeResourceIteratorOptions(mixed $resource) : mixed
Parameters
$resource : mixed
Return values
mixed

offsetExists()

Checks to see whether a particular offset key exists.

public offsetExists(mixed $offset) : bool
Parameters
$offset : mixed
Return values
bool

offsetGet()

Get the value for a particular offset key.

public offsetGet(mixed $offset) : mixed|null
Parameters
$offset : mixed
Return values
mixed|null

offsetSet()

Sets a value to a particular offset.

public offsetSet(mixed $offset, mixed $value) : mixed
Parameters
$offset : mixed
$value : mixed
Return values
mixed

offsetUnset()

Unset a particular key.

public offsetUnset(mixed $offset) : mixed
Parameters
$offset : mixed
Return values
mixed

parseResponse()

Parse a HTTP response for the required content

public parseResponse(Response $response) : mixed
Parameters
$response : Response
Return values
mixed

populate()

Populates the current object based on an unknown data type.

public populate(mixed $info[, mixed $setObjects = true ]) : mixed
Parameters
$info : mixed
$setObjects : mixed = true
Tags
throws
InvalidArgumentError
Return values
mixed

resourceName()

Returns the URI path for this resource

public static resourceName() : mixed
Tags
throws
UrlError
Return values
mixed

setData()

public setData(array<string|int, mixed> $data) : mixed
Parameters
$data : array<string|int, mixed>
Return values
mixed

setMetadata()

public setMetadata(mixed $data) : $this
Parameters
$data : mixed
Return values
$this

stripNamespace()

public stripNamespace(mixed $namespace) : mixed
Parameters
$namespace : mixed
Return values
mixed

toCamel()

Convert a string to camelCase format.

public toCamel( $string[, bool $capitalise = true ]) : mixed
Parameters
$string :
$capitalise : bool = true

Optional flag which allows for word capitalization.

Return values
mixed

toUnderscores()

Convert string to underscore format.

public toUnderscores( $string) : mixed
Parameters
$string :
Return values
mixed

url()

public url([mixed $path = null ][, array<string|int, mixed> $query = array() ]) : mixed
Parameters
$path : mixed = null
$query : array<string|int, mixed> = array()
Tags
deprecated
Return values
mixed

getJsonHeader()

protected static getJsonHeader() : mixed
Return values
mixed

getPatchHeaders()

protected static getPatchHeaders() : mixed
Return values
mixed

getProperty()

Grab value out of the data array.

protected getProperty(string $property) : mixed
Parameters
$property : string
Return values
mixed

primaryKeyField()

Returns the primary key field for the object

protected primaryKeyField() : string
Return values
string

propertyExists()

Basic check to see whether property exists.

protected propertyExists(string $property[, bool $allowRetry = true ]) : bool
Parameters
$property : string

The property name being investigated.

$allowRetry : bool = true

If set to TRUE, the check will try to format the name in underscores because there are sometimes discrepancies between camelCaseNames and underscore_names.

Return values
bool

setProperty()

We can set a property under three conditions:

protected setProperty(mixed $property, mixed $value) : mixed
  1. If it has a concrete setter: setProperty()
  2. If the property exists
  3. If the property name's prefix is in an approved list
Parameters
$property : mixed
$value : mixed
Return values
mixed

checkAttributePrefix()

Checks the attribute $property and only permits it if the prefix is in the specified $prefixes array

private checkAttributePrefix(string $property) : bool

This is to support extension namespaces in some services.

Parameters
$property : string

the name of the attribute

Return values
bool

isAccessible()

Does the property exist in the object variable list (i.e. does it have public or protected visibility?)

private isAccessible( $property) : bool
Parameters
$property :
Return values
bool

Search results