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    }