Class AbstractAddonValueStorage

Class AbstractAddonValueStorage

Abstract
Package: AddonValue
Category: System
Located at Services/System/AddonValue/AbstractAddonValueStorage.inc.php

Methods summary

public __construct( CI_DB_query_builder $db )

AbstractAddonValueStorage Constructor

public getValuesByContainerId( IdType $containerId ) : KeyValueCollection

Get the addon values by the given container ID.

public setValues( IdType $containerId, KeyValueCollection $values ) : AbstractAddonValueStorage

Sets addon values to the database.

protected _getExternalValuesByContainerId( IdType $containerId ) : array

Selects the fields specified in the external fields array $this->externalFields by the given container ID and returns the associative array which will be merged with the associative array with values from the addon_values_storage table.

protected _setExternalValues( IdType $containerId, KeyValueCollection $values )

Updates the fields specified in the external fields array $this->externalFields with the corresponding values from the provided KeyValueCollection and removes the elements from the collection before the called method writes into the addon_values_storage table.

public deleteValuesByContainerId( IdType $containerId ) : AbstractAddonValueStorage

Remove addon values by the given source id.

abstract protected _getExternalFieldsArray( void ) : array

Should return a multidimensional array of database tables with corresponding primary keys and the column names with the corresponding key used in the KeyValueCollection which are relevant for addon values and not stored in the addon_values_storage table.

abstract protected _getContainerType( void ) : string

Get the container class type.

Properties summary

protected $db : CI_DB_query_builder

		
protected $externalFields : array

Multidimensional array of database tables with corresponding primary keys and the fields which are relevant for addon values which are not stored in the addon_values_storage table.

array()