package cz.abclinuxu.datoveschranky.common.interfaces; import cz.abclinuxu.datoveschranky.common.entities.DataBox; import cz.abclinuxu.datoveschranky.common.entities.DataBoxQuery; import cz.abclinuxu.datoveschranky.common.entities.DataBoxSearchResult; import cz.abclinuxu.datoveschranky.common.entities.DataBoxState; import cz.abclinuxu.datoveschranky.common.entities.DataBoxType; import cz.abclinuxu.datoveschranky.common.entities.DataBoxWithDetails; import cz.abclinuxu.datoveschranky.common.entities.SearchResult; import java.util.List; /** * Třída pro vyhledávání datových schránek a ověřování jejich stavu. * * @author Vaclav Rosecky <xrosecky 'at' gmail 'dot' com> */ public interface DataBoxSearchService { /** * Vráti stav schránky. * * @param db datová schránka */ public DataBoxState checkDataBox(DataBox db); /** * Vrátí datovou schránku s daným id pokud existuje, v opačném případě * vrátí null * * @param id ID datové schránky */ public DataBoxWithDetails findDataBoxByID(String id); /** * Vrátí seznam datových schránek OVM, jejichž jméno začína na prefix. * * @param prefix prefix jména OVM */ public List<DataBoxWithDetails> findOVMsByName(String prefix); /** * Vrátí seznam datových schránek OVM, jež vyhovují dotazu. * * @param type typ schránky (povinný atribut) * @param what co se má hledat (hledá se podle atributů, co nejsou null, více dokumentace k ISDS) */ public List<DataBoxWithDetails> find(DataBoxType type, DataBoxWithDetails what); public DataBoxSearchResult find(DataBoxQuery query); /** * Vrátí seznam datových schránek OVM, jež vyhovují dotazu. * * @param what co se má hledat (hledá se podle atributů, co nejsou null, více dokumentace k ISDS) */ public SearchResult find(DataBoxWithDetails what); }