core/xpdo/transport/xpdovehicle.class.php

Show: inherited
Table of Contents

Abstract class that represents an artifact within a transportable package.

Package
xpdo  
Subpackage
transport  

\xPDOVehicle

Package: xpdo\transport

Represents an individual artifact within an {@link xPDOTransport} package.

Extend this abstract class to provide custom xPDOVehicle behavior for various kinds of artifacts (e.g. objects, xPDOObjects, files, database schemas, etc.).

Children
\xPDOFileVehicle
\xPDOTransportVehicle
\xPDOObjectVehicle
Abstract
 

Properties

Propertypublic  $class= ''xPDOVehicle''
Default value'xPDOVehicle'Details
Type
n/a
Propertypublicarray  $payload= 'array ()'

Represents the artifact and related attributes stored in the vehicle.

Default valuearray ()Details
Type
array

Methods

methodprotected_compilePayload( \xPDOTransport $transport ) : void

Compile necessary resources in preparation for storing the vehicle.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the transport the vehicle is being stored in.

Details
Access
protected  
methodpublicget( \xPDOTransport $transport, array $options = array (), array $element = null ) : void

Retrieve an artifact represented in this vehicle.

By default, this method simply returns the raw payload merged with the provided options, but you can optionally provide a payload element specifically on which to operate as well as override the method in derivatives to further transform the returned artifact.

Parameters
Name Type Description
$transport \xPDOTransport

The transport package containing this vehicle.

$options array

Options that apply to the artifact or retrieval process.

$element array

An optional payload element representing a specific part of the artifact to operate on. If not specified, the root element of the payload is used.

methodpublicinstall( \xPDOTransport $transport, array $options ) : boolean
abstract

Install the vehicle artifact into a transport host.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the transport.

$options array

An array of options for altering the installation of the artifact.

Returns
Type Description
boolean True if the installation of the vehicle artifact was successful.
Details
Abstract
Implement this in a derivative to make an installable vehicle.  
methodpublicput( \xPDOTransport $transport, mixed $object, array $attributes = array () ) : void

Put an artifact representation into this vehicle.

Parameters
Name Type Description
$transport \xPDOTransport

The transport package hosting the vehicle.

$object mixed

&$object A reference to the artifact this vehicle will represent.

$attributes array

Additional attributes represented in the vehicle.

methodpublicregister( \xPDOTransport $transport ) : array

Build a manifest entry to be registered in a transport for this vehicle.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport The xPDOTransport instance to register the vehicle into.

Returns
Type Description
array An array of vehicle attributes that will be registered into an xPDOTransport manifest.
methodpublicresolve( \xPDOTransport $transport, mixed $object, array $options = array () ) : boolean

Resolve any dependencies of the artifact represented in this vehicle.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the xPDOTransport in which this vehicle is stored.

$object mixed

&$object An object reference to resolve dependencies for. Use this to make the artifact or other important data available to the resolver scripts.

$options array

Additional options for the resolution process.

Returns
Type Description
boolean Indicates if the resolution was successful.
methodpublicstore( \xPDOTransport $transport ) : boolean

Store this xPDOVehicle instance into an xPDOTransport.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport The transport to store the vehicle in.

Returns
Type Description
boolean Indicates if the vehicle was stored in the transport.
methodpublicuninstall( \xPDOTransport $transport, array $options ) : void
abstract

Uninstalls the vehicle artifact from a transport host.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the transport.

$options array

An array of options for altering the uninstallation of the artifact.

Details
Abstract
Implement this in a derivative to make an uninstallable vehicle.  
methodpublicvalidate( \xPDOTransport $transport, \xPDOObject $object, array $options = array () ) : boolean

Validate any dependencies for the object represented in this vehicle.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the xPDOTransport in which this vehicle is stored.

$object \xPDOObject

&$object An object reference to access during validation.

$options array

Additional options for the validation process.

Returns
Type Description
boolean Indicating if the validation was successful.
Documentation was generated by DocBlox 0.18.1.