001 002package org.cache2k; 003 004/* 005 * #%L 006 * cache2k API only package 007 * %% 008 * Copyright (C) 2000 - 2015 headissue GmbH, Munich 009 * %% 010 * This program is free software: you can redistribute it and/or modify 011 * it under the terms of the GNU General Public License as 012 * published by the Free Software Foundation, either version 3 of the 013 * License, or (at your option) any later version. 014 * 015 * This program is distributed in the hope that it will be useful, 016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 018 * GNU General Public License for more details. 019 * 020 * You should have received a copy of the GNU General Public 021 * License along with this program. If not, see 022 * <http://www.gnu.org/licenses/gpl-3.0.html>. 023 * #L% 024 */ 025 026import java.util.BitSet; 027 028/** 029 * Interface for requesting a bulk of data. The idea of this interface is 030 * that no object allocations need to be done in the callee to suport the interface 031 * and that it is possible to retrieve a subset of entries. The current interface 032 * works, but is quite difficult to implement. Will be changed for 1.0. 033 * 034 * @author Jens Wilke 035 */ 036@Deprecated 037public interface ExperimentalBulkCacheSource<K, T> { 038 039 /** 040 * Retrieves the objects associated with the given keys in the result array. 041 * The two arrays must be of identical size. 042 * 043 * @param keys keys of the elements 044 * @param result result objects, a non-null value in the result array means 045 * that this object may not be retrieved. 046 * @param s start index 047 * @param e end index, exclusive 048 */ 049 void getBulk(K[] keys, T[] result, BitSet _fetched, int s, int e); 050 051}