FOSElasticaBundle/Persister/ObjectPersisterInterface.php

79 lines
1.8 KiB
PHP
Raw Normal View History

<?php
namespace FOS\ElasticaBundle\Persister;
/**
* Inserts, replaces and deletes single documents in an elastica type
2015-03-12 11:20:00 +01:00
* Accepts domain model objects and converts them to elastica documents.
*
* @author Thibault Duplessis <thibault.duplessis@gmail.com>
*/
interface ObjectPersisterInterface
{
/**
* Insert one object into the type
2015-03-12 11:20:00 +01:00
* The object will be transformed to an elastica document.
*
* @param object $object
*/
2015-03-12 11:20:00 +01:00
public function insertOne($object);
/**
2015-03-12 11:20:00 +01:00
* Replaces one object in the type.
*
* @param object $object
**/
2015-03-12 11:20:00 +01:00
public function replaceOne($object);
/**
2015-03-12 11:20:00 +01:00
* Deletes one object in the type.
*
* @param object $object
**/
2015-03-12 11:20:00 +01:00
public function deleteOne($object);
/**
2015-03-12 11:20:00 +01:00
* Deletes one object in the type by id.
*
* @param mixed $id
2014-02-01 03:14:21 +01:00
*/
2015-03-12 11:20:00 +01:00
public function deleteById($id);
/**
2015-03-12 11:20:00 +01:00
* Bulk inserts an array of objects in the type.
2014-02-01 03:14:21 +01:00
*
* @param array $objects array of domain model objects
*/
2015-03-12 11:20:00 +01:00
public function insertMany(array $objects);
2014-02-01 03:14:21 +01:00
/**
2015-03-12 11:20:00 +01:00
* Bulk updates an array of objects in the type.
2014-02-01 03:14:21 +01:00
*
* @param array $objects array of domain model objects
*/
2015-03-12 11:20:00 +01:00
public function replaceMany(array $objects);
2014-02-01 03:14:21 +01:00
/**
2015-03-12 11:20:00 +01:00
* Bulk deletes an array of objects in the type.
*
* @param array $objects array of domain model objects
*/
2015-03-12 11:20:00 +01:00
public function deleteMany(array $objects);
/**
2015-03-12 11:20:00 +01:00
* Bulk deletes records from an array of identifiers.
*
* @param array $identifiers array of domain model object identifiers
*/
public function deleteManyByIdentifiers(array $identifiers);
/**
* If the object persister handles the given object.
*
* @param object $object
2015-03-12 11:45:24 +01:00
*
* @return bool
*/
public function handlesObject($object);
}