# Class Schema

Class that represents a JSON schema document

  OpenCloud\Image\Resource\Schema\AbstractSchemaItem
  OpenCloud\Image\Resource\Schema\Schema

Namespace: OpenCloud\Image\Resource\Schema
Package: OpenCloud\Images\Resource\Schema
Located at OpenCloud/Image/Resource/Schema/Schema.php

Methods summary
`public static `OpenCloud\Image\Resource\Schema\Schema`` | # `factory( array $data )` #### Parameters $data `array` $data #### Returns ``OpenCloud\Image\Resource\Schema\Schema``
`public` | # `setName( string $name )` #### Parameters $name `string` $name
`public string` | # `getName( )` #### Returns `string`
`public` | # `setProperties( array $properties )` #### Parameters $properties `array` $properties
`public array` | # `getProperties( )` #### Returns `array`
`public` | # `setAdditionalProperties( array $properties )` #### Parameters $properties `array` $properties
`public boolean|`OpenCloud\Image\Resource\Schema\Property`` | # `getAdditionalProperties( )` #### Returns `boolean|`OpenCloud\Image\Resource\Schema\Property``
`public` | # `setLinks( array $links )` #### Parameters $links `array` $links
`public array` | # `getLinks( )` #### Returns `array`
`public boolean` | # `propertyExists( mixed $property )` Check whether a property exists Check whether a property exists #### Parameters $property `mixed` $property The name of the property #### Returns `boolean`
`public null|`OpenCloud\Image\Resource\Schema\Property`` | # `getProperty( mixed $property )` Retrieve a property Retrieve a property #### Parameters $property `mixed` $property The name of the property #### Returns `null|`OpenCloud\Image\Resource\Schema\Property``
`public string` | # `decideOperationType( `OpenCloud\Image\Resource\Schema\Property` $property )` Based on this schema, decide the most appropriate operation type for a given property Based on this schema, decide the most appropriate operation type for a given property #### Parameters $property ``OpenCloud\Image\Resource\Schema\Property`` $property The property being performed on #### Returns `string`
`public boolean|`OpenCloud\Image\Resource\Schema\Property`` | # `validateAdditionalProperty( mixed $value )` Check whether an additional property is allowed and its type is valid Check whether an additional property is allowed and its type is valid #### Parameters $value `mixed` $value The value trying to be set #### Returns `boolean|`OpenCloud\Image\Resource\Schema\Property``

Methods inherited from OpenCloud\Image\Resource\Schema\AbstractSchemaItem
`stockProperty()`

Properties summary
`protected string` | $name | `` | # Name of schema Name of schema
`protected array` | $properties | `` | # Properties that this schema possesses Properties that this schema possesses
`protected null|`OpenCloud\Image\Resource\Schema\Property`` | $additionalProperties | `` | # If set, this determines the template that all additional (i.e. undefined) properties must adhere to If set, this determines the template that all additional (i.e. undefined) properties must adhere to
`protected array` | $links | `` | # Links for this schema Links for this schema