\Horde_Kolab_Server_Objects_Interface

Interface for a server object list.

Copyright 2008-2017 Horde LLC (http://www.horde.org/)

See the enclosed file LICENSE for license information (LGPL). If you did not receive this file, see http://www.horde.org/licenses/lgpl21.

Summary

Methods
Constants
setComposite()
add()
fetch()
listObjects()
listHash()
No constants found
No protected methods found
N/A
No private methods found
N/A

Methods

setComposite()

setComposite(\Horde_Kolab_Server_Composite  $composite) 

Set the composite server reference for this object.

Parameters

\Horde_Kolab_Server_Composite $composite

A link to the composite server handler.

add()

add(array  $info) : \Kolab_Object

Add a Kolab object.

Parameters

array $info

The object to store.

Throws

\Horde_Kolab_Server_Exception

If the type of the object to add has been left undefined or the object already exists.

Returns

\Kolab_Object —

The newly created Kolab object.

fetch()

fetch(string  $uid = null, string  $type = null) : \Kolab_Object

Fetch a Kolab object.

This method will not retrieve any data from the server immediately. Instead it will simply generate a new instance for the desired object.

The server data will only be accessed once you start reading the object data.

This method can also be used in order to fetch non-existing objects that will be saved later. This is however not recommended and you should rather use the add($info) method for that.

If you do not provide the object type the server will try to determine it automatically based on the uid. As this requires reading data from the server it is recommended to specify the object type whenever it is known.

If you do not specify a uid the object corresponding to the user bound to the server will be returned.

Parameters

string $uid

The UID of the object to fetch.

string $type

The type of the object to fetch.

Throws

\Horde_Kolab_Server_Exception

Returns

\Kolab_Object —

The corresponding Kolab object.

listObjects()

listObjects(string  $type, array  $params = null) : array

List all objects of a specific type

Parameters

string $type

The type of the objects to be listed

array $params

Additional parameters.

Throws

\Horde_Kolab_Server_Exception

Returns

array —

An array of Kolab objects.

listHash()

listHash(string  $type, array  $params = null) : array

Generate a hash representation for a list of objects.

The approach taken here is somewhat slow as the server data gets fetched into objects first which are then converted to hashes again. Since a server search will usually deliver the result as a hash the intermediate object conversion is inefficient.

But as the object classes are able to treat the attributes returned from the server with custom parsing, this is currently the preferred method. Especially for large result sets it would be better if this method would call a static object class function that operate on the result array returned from the server without using objects.

Parameters

string $type

The type of the objects to be listed

array $params

Additional parameters.

Throws

\Horde_Kolab_Server_Exception

Returns

array —

An array of Kolab objects.