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}