1 /** 2 * MEDOR: Middleware Enabling Distributed Object Requests 3 * 4 * Copyright (C) 2001-2003 France Telecom R&D 5 * Contact: alexandre.lefebvre@rd.francetelecom.com 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * 21 * Initial developers: M. Alia, A. Lefebvre, S. Chassande-Barrioz 22 */ 23 24 package org.objectweb.medor.eval.prefetch.api; 25 26 import org.objectweb.medor.tuple.api.TupleCollection; 27 import org.objectweb.medor.tuple.api.Tuple; 28 import org.objectweb.medor.api.MedorException; 29 30 /** 31 * Registers the prefetched tuples within an indexed buffer for further access 32 * through the tuple identifier used for indexing. This registering occurs while 33 * tuple collection they belong to is traversed by the application. 34 * @author P. Dechamboux 35 */ 36 public interface PrefetchBuffer { 37 /** 38 * Adds to this cache a prefetched tuple that is the one which currently 39 * traversed within the associated tuple collection. 40 */ 41 void addPrefetchTuple() throws MedorException; 42 43 /** 44 * Associates a tuple collection to this PrefetchBuffer. It should contain 45 * the tuples that will be registered with the prefetch structure. 46 * @param tc The associated tuple collection. 47 */ 48 void setTupleCollection(TupleCollection tc) throws MedorException; 49 50 /** 51 * Returns the tuple collection positionned on the tuple identified by index. 52 */ 53 TupleCollection getTupleCollection(Object index) throws MedorException; 54 55 void close() throws MedorException; 56 57 boolean isClosed(); 58 59 Tuple getTuple(Object index) throws MedorException; 60 } 61