# Class Base

The root class for all other objects used or defined by this SDK.

It contains common code for error handling as well as service functions that are useful. Because it is an abstract class, it cannot be called directly, and it has no publicly-visible properties.

#### Direct known subclasses

OpenCloud\Common\Metadata, OpenCloud\Common\Resource\BaseResource, OpenCloud\Common\Service\AbstractService, OpenCloud\ObjectStore\Resource\AbstractResource

#### Indirect known subclasses

OpenCloud\Autoscale\Resource\AbstractResource, OpenCloud\Autoscale\Resource\Group, OpenCloud\CloudMonitoring\Resource\AgentHostInfo, OpenCloud\CloudMonitoring\Resource\AgentTarget, OpenCloud\CloudMonitoring\Resource\AgentToken, OpenCloud\CloudMonitoring\Resource\Alarm, OpenCloud\CloudMonitoring\Resource\Changelog, OpenCloud\CloudMonitoring\Resource\Check, OpenCloud\CloudMonitoring\Resource\CheckType, OpenCloud\CloudMonitoring\Resource\Entity, OpenCloud\CloudMonitoring\Resource\Metric, OpenCloud\CloudMonitoring\Resource\Notification, OpenCloud\Autoscale\Resource\GroupConfiguration, OpenCloud\CloudMonitoring\Resource\NotificationHistory, OpenCloud\CloudMonitoring\Resource\NotificationType, OpenCloud\CloudMonitoring\Resource\ReadOnlyResource, OpenCloud\CloudMonitoring\Resource\View, OpenCloud\CloudMonitoring\Resource\Zone, OpenCloud\CloudMonitoring\Service, OpenCloud\Common\Resource\NovaResource, OpenCloud\Common\Resource\PersistentResource, OpenCloud\Common\Service\CatalogService, OpenCloud\Common\Service\NovaService, OpenCloud\Autoscale\Resource\LaunchConfiguration, OpenCloud\Compute\Resource\Flavor, OpenCloud\Compute\Resource\Image, OpenCloud\Compute\Resource\Network, OpenCloud\Compute\Resource\Server, OpenCloud\Compute\Resource\ServerMetadata, OpenCloud\Compute\Resource\VolumeAttachment, OpenCloud\Compute\Service, OpenCloud\Database\Resource\Database, OpenCloud\Database\Resource\Instance, OpenCloud\Database\Resource\User, OpenCloud\Autoscale\Resource\ScalingPolicy, OpenCloud\Database\Service, OpenCloud\DNS\Resource\AbstractResource, OpenCloud\DNS\Resource\AsyncResponse, OpenCloud\DNS\Resource\Domain, OpenCloud\DNS\Resource\PtrRecord, OpenCloud\DNS\Resource\Record, OpenCloud\DNS\Resource\Subdomain, OpenCloud\DNS\Service, OpenCloud\Identity\Resource\Role, OpenCloud\Identity\Resource\Tenant, OpenCloud\Autoscale\Resource\Webhook, OpenCloud\Identity\Resource\Token, OpenCloud\Identity\Resource\User, OpenCloud\Identity\Service, OpenCloud\Image\Resource\AbstractSchemaResource, OpenCloud\Image\Resource\Image, OpenCloud\Image\Resource\Member, OpenCloud\Image\Service, OpenCloud\LoadBalancer\Resource\AbstractResource, OpenCloud\LoadBalancer\Resource\Access, OpenCloud\LoadBalancer\Resource\Algorithm, OpenCloud\Autoscale\Service, OpenCloud\LoadBalancer\Resource\AllowedDomain, OpenCloud\LoadBalancer\Resource\ConnectionLogging, OpenCloud\LoadBalancer\Resource\ConnectionThrottle, OpenCloud\LoadBalancer\Resource\ContentCaching, OpenCloud\LoadBalancer\Resource\ErrorPage, OpenCloud\LoadBalancer\Resource\HealthMonitor, OpenCloud\LoadBalancer\Resource\LoadBalancer, OpenCloud\LoadBalancer\Resource\Metadata, OpenCloud\LoadBalancer\Resource\Node, OpenCloud\LoadBalancer\Resource\NodeEvent, OpenCloud\CloudMonitoring\Resource\Agent, OpenCloud\LoadBalancer\Resource\NonIdUriResource, OpenCloud\LoadBalancer\Resource\Protocol, OpenCloud\LoadBalancer\Resource\ReadOnlyResource, OpenCloud\LoadBalancer\Resource\SessionPersistence, OpenCloud\LoadBalancer\Resource\SSLTermination, OpenCloud\LoadBalancer\Resource\Stats, OpenCloud\LoadBalancer\Resource\UsageRecord, OpenCloud\LoadBalancer\Resource\VirtualIp, OpenCloud\LoadBalancer\Service, OpenCloud\ObjectStore\AbstractService, OpenCloud\CloudMonitoring\Resource\AgentConnection, OpenCloud\ObjectStore\CDNService, OpenCloud\ObjectStore\Resource\AbstractContainer, OpenCloud\ObjectStore\Resource\Account, OpenCloud\ObjectStore\Resource\CDNContainer, OpenCloud\ObjectStore\Resource\Container, OpenCloud\ObjectStore\Resource\ContainerMetadata, OpenCloud\ObjectStore\Resource\DataObject, OpenCloud\ObjectStore\Service, OpenCloud\Orchestration\Resource, OpenCloud\Orchestration\Service, OpenCloud\CloudMonitoring\Resource\AgentHost, OpenCloud\Orchestration\Stack, OpenCloud\Queues\Resource\Claim, OpenCloud\Queues\Resource\Message, OpenCloud\Queues\Resource\Queue, OpenCloud\Queues\Service, OpenCloud\Volume\Resource\Snapshot, OpenCloud\Volume\Resource\Volume, OpenCloud\Volume\Resource\VolumeType, OpenCloud\Volume\Service
Abstract
Namespace: OpenCloud\Common
Located at OpenCloud/Common/Base.php

Methods summary
`public static static` | # `getInstance( )` #### Returns `static`
`public` | # `__call( mixed $method, mixed $args )` Intercept non-existent method calls for dynamic getter/setter functionality. Intercept non-existent method calls for dynamic getter/setter functionality. #### Parameters $method `mixed` $method $args `mixed` $args #### Throws ``OpenCloud\Common\Exceptions\RuntimeException``
`protected mixed` | # `setProperty( mixed $property, mixed $value )` We can set a property under three conditions: We can set a property under three conditions: If it has a concrete setter: setProperty() If the property exists If the property name's prefix is in an approved list #### Parameters $property `mixed` $property $value `mixed` $value #### Returns `mixed`
`protected boolean` | # `propertyExists( string $property, boolean $allowRetry = true )` Basic check to see whether property exists. Basic check to see whether property exists. #### Parameters $property `string` $property The property name being investigated. $allowRetry `boolean` $allowRetry If set to TRUE, the check will try to format the name in underscores because there are sometimes discrepancies between camelCaseNames and underscore_names. #### Returns `boolean`
`public mixed` | # `toCamel( mixed $string, boolean $capitalise = true )` Convert a string to camelCase format. Convert a string to camelCase format. #### Parameters $string `mixed` $string $capitalise `boolean` $capitalise Optional flag which allows for word capitalization. #### Returns `mixed`
`public mixed` | # `toUnderscores( mixed $string )` Convert string to underscore format. Convert string to underscore format. #### Parameters $string `mixed` $string #### Returns `mixed`
`protected mixed` | # `getProperty( string $property )` Grab value out of the data array. Grab value out of the data array. #### Parameters $property `string` $property #### Returns `mixed`
`public mixed` | # `setLogger( `OpenCloud\Common\Log\LoggerInterface` $logger )` Sets the logger. Sets the logger. #### Parameters $logger ``OpenCloud\Common\Log\LoggerInterface`` $logger #### Returns `mixed` $this
`public `OpenCloud\Common\Log\AbstractLogger`` | # `getLogger( )` Returns the Logger object. Returns the Logger object. #### Returns ``OpenCloud\Common\Log\AbstractLogger``
`public` | # `populate( mixed $info, boolean $setObjects = true )` Populates the current object based on an unknown data type. Populates the current object based on an unknown data type. #### Parameters $info `mixed` $info $setObjects `boolean` #### Throws ``OpenCloud\Common\Exceptions\InvalidArgumentError``
`public static` | # `checkJsonError( )` Checks the most recent JSON operation for errors. Checks the most recent JSON operation for errors. #### Throws ``OpenCloud\Common\Exceptions\JsonError`` #### CodeCoverageIgnore
`public static` | # `generateUuid( )`
`public` | # `makeResourceIteratorOptions( mixed $resource )`
`public` | # `stripNamespace( mixed $namespace )`
`protected static` | # `getJsonHeader( )`

Properties summary
`protected array` | $aliases | `array()` | # The aliases configure for the properties of the instance. The aliases configure for the properties of the instance.