001 package org.mycore.services.z3950;
002
003 /**
004 * Dieses Java-Interface beschreibt die Syntax der grundlegenen Funktionen
005 * für den Z39.50-Suchservice.
006 * @author Andreas de Azevedo
007 * @version 1.0
008 */
009 public interface MCRZ3950Query {
010
011 /**
012 * Schneidet das Ergebnisdokument an einer bestimmten Stelle ab.
013 * @param maxresults Die Anzahl noch zu verbleibender Ergebnisse.
014 */
015 public void cutDownTo(int maxresults);
016
017 public void sort();
018
019 /**
020 * Gibt alle Ergebnisse als Bytestrom zurück.
021 * @return Das Ergebnisdokument als Byte-Array, null falls es keine Ergebnisse gab.
022 */
023 public byte[] getDocumentAsByteArray();
024
025 /**
026 * Führt eine Suchanfrage in MyCoRe aus.
027 * @return True falls es Ergebnisse gab, sonst False.
028 */
029 public boolean search();
030
031 /**
032 * Gibt die Anzahl der Ergebnisse zurück.
033 * @return Die Anzahl der Dokumente in der Ergebnisliste.
034 */
035 public int getSize();
036
037 public int getIndex();
038
039 /**
040 * Verkürzt das Ergebnisdokument auf das Dokument mit einem bestimmten
041 * Index.
042 * @param index Der Index des gewünschten Ergebnisses.
043 */
044 public void setIndex(int index);
045
046 public String getQuery();
047
048 /**
049 * Setzt eine Z39.50-Suchanfrage
050 * @param query Eine Suchanfrage im Z39.50-Format (Prefix)
051 */
052 public void setQuery(String query);
053
054 }