The base class for all value objects and structs.
Supports read-only properties by marking them as protected.
In this case they will only be writable using constructor, and need to be documented
using @property-read <type> <$var> annotation in class doc in addition to inline property doc.
Writable properties must be public and must be documented inline.
Methods¶
                 __construct()
            ¶
__construct()
            ¶
    
        Construct object optionally with a set of properties.
|  |  | 
Readonly properties values must be set using $properties as they aren't writable anymore
after object has been created.
Parameters
| Name | Type | Default value | Description | 
|---|---|---|---|
| $properties | array<string, mixed> | [] | - | 
                 addLimitation()
            ¶
addLimitation()
            ¶
    
        Adds a limitation with the given identifier and list of values.
|  |  | 
Parameters
| Name | Type | Default value | Description | 
|---|---|---|---|
| $limitation | Limitation | - | - | 
                 getLimitations()
            ¶
getLimitations()
            ¶
    
        Returns list of limitations added to policy.
|  |  | 
Return values
array<string|int, Limitation>
                 getProperties()
            ¶
getProperties()
            ¶
    
        Returns list of available properties' names.
|  |  | 
Override to add dynamic properties.
Parameters
| Name | Type | Default value | Description | 
|---|---|---|---|
| $dynamicProperties | array<int, string> | [] | Additional dynamic properties exposed on the object | 
Return values
array<int, string>