This package has some internal structures which are used to analyze data objects and their properties. They can be
helpful when writing casts, transformers or rule inferrers.
##DataClass
The DataClass represents the structure of a data object and has the following properties:
name the name of the data class
properties all the DataProperty's of the class (more on that later)
methods all the magical creation DataMethods of the class (more on that later)
constructorMethod the constructor DataMethod of the class
isReadOnly is the class read only
isAbstract is the class abstract
appendable is the class implementing AppendableData
includeable is the class implementing IncludeableData
responsable is the class implementing ResponsableData
transformable is the class implementing TransformableData
validatable is the class implementing ValidatableData
wrappable is the class implementing WrappableData
emptyData the the class implementing EmptyData
attributes a collection of resolved attributes assigned to the class
dataCollectablePropertyAnnotations the property annotations of the class used to infer the data collection type
allowedRequestIncludes the allowed request includes of the class
allowedRequestExcludes the allowed request excludes of the class
allowedRequestOnly the allowed request only of the class
allowedRequestExcept the allowed request except of the class
outputMappedProperties properties names which are mapped when transforming the data object
transformationFields structure of the transformation fields
##DataProperty
A data property represents a single property within a data object.
name the name of the property
className the name of the class of the property
type the DataPropertyType of the property (more on that later)
validate should the property be automatically validated
computed is the property computed
hidden will the property be hidden when transforming the data object
isPromoted is the property constructor promoted
isReadOnly is the property read only
hasDefaultValue has the property a default value
defaultValue the default value of the property
cast the cast assigned to the property
transformer the transformer assigned to the property
inputMappedName the name used to map a property name given
outputMappedName the name used to map a property name onto
attributes a collection of resolved attributes assigned to the property
##DataMethod
A data method represents a method within a data object.
name the name of the method
parameters all the DataParameter's and DataPropertys of the method (more on that later)
isStatic whether the method is static
isPublic whether the method is public
isCustomCreationMethod whether the method is a custom creation method (=magical creation method)
returnType the DataType of the return value (more on that later)
##DataParameter
A data parameter represents a single parameter/property within a data method.
name the name of the parameter
isPromoted is the property/parameter constructor promoted
hasDefaultValue has the parameter a default value
defaultValue the default value of the parameter
type the DataType of the parameter (more on that later)
##DataType
A data type represents a type within a data object.
Type can be a NamedType, UnionType or IntersectionType (more on that later)
isNullable can the type be nullable
isMixed is the type a mixed type
kind the DataTypeKind of the type (more on that later)
##DataPropertyType
Extends from the DataType and has the following additional properties:
isOptional can the type be optional
lazyType the class of the lazy type for the property
dataClass the data object class of the property or the data object class of the collection it collects
dataCollectableClass the collectable type of the data objects
kind the DataTypeKind of the type (more on that later)
##DataTypeKind
An enum representing the kind of type of a property/parameter with respect to the package:
- Default: a non package specific type
- DataObject: a data object
- DataCollection: a
DataCollection of data objects
- DataPaginatedCollection: a
DataPaginatedCollection of data objects
- DataCursorPaginatedCollection: a
DataCursorPaginatedCollection of data objects
- DataArray: an array of data objects
- DataEnumerable: a
Enumerable of data objects
- DataPaginator: a
Paginator of data objects
- DataCursorPaginator: a
CursorPaginator of data objects
##NamedType
Represents a named PHP type with the following properties:
name the name of the type
builtIn is the type a built-in type
acceptedTypes an array of accepted types as string
kind the DataTypeKind of the type (more on that later)
dataClass the data object class of the property or the data object class of the collection it collects
dataCollectableClass the collectable type of the data objects
isCastable wetter the type is a Castable
##UnionType / IntersectionType
Represents a union or intersection of types with the following properties:
types an array of types (can be NamedType, UnionType or IntersectionType)