. */ namespace SP\Mgmt; defined('APP_ROOT') || die(); /** * Interface Item para la implementación de clases de elementos * * @package SP\Mgmt */ interface ItemInterface { /** * @param $itemData * @return static */ public static function getItem($itemData = null); /** * @return mixed */ public function add(); /** * @param $id int|array * @return mixed */ public function delete($id); /** * @return mixed */ public function update(); /** * @param $id int * @return mixed */ public function getById($id); /** * @return mixed */ public function getAll(); /** * @param $itemData * @return mixed */ public function setItemData($itemData); /** * @return mixed */ public function getItemData(); /** * @param $id int * @return mixed */ public function checkInUse($id); /** * @return bool */ public function checkDuplicatedOnUpdate(); /** * @return bool */ public function checkDuplicatedOnAdd(); /** * Eliminar elementos en lote * * @param array $ids * @return $this */ public function deleteBatch(array $ids); /** * Devolver los elementos con los ids especificados * * @param array $ids * @return mixed */ public function getByIdBatch(array $ids); }