001
002package org.cache2k;
003
004/*
005 * #%L
006 * cache2k API only package
007 * %%
008 * Copyright (C) 2000 - 2016 headissue GmbH, Munich
009 * %%
010 * Licensed under the Apache License, Version 2.0 (the "License");
011 * you may not use this file except in compliance with the License.
012 * You may obtain a copy of the License at
013 * 
014 *      http://www.apache.org/licenses/LICENSE-2.0
015 * 
016 * Unless required by applicable law or agreed to in writing, software
017 * distributed under the License is distributed on an "AS IS" BASIS,
018 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
019 * See the License for the specific language governing permissions and
020 * limitations under the License.
021 * #L%
022 */
023
024import java.util.BitSet;
025
026/**
027 * Interface for requesting a bulk of data. The idea of this interface is
028 * that no object allocations need to be done in the callee to suport the interface
029 * and that it is possible to retrieve a subset of entries. The current interface
030 * works, but is quite difficult to implement. Will be changed for 1.0.
031 *
032 * @author Jens Wilke
033 */
034@Deprecated
035public interface ExperimentalBulkCacheSource<K, T> {
036
037  /**
038   * Retrieves the objects associated with the given keys in the result array.
039   * The two arrays must be of identical size.
040   * 
041   * @param keys keys of the elements
042   * @param result result objects, a non-null value in the result array means
043   *        that this object may not be retrieved.
044   * @param s start index
045   * @param e end index, exclusive
046   */
047  void getBulk(K[] keys, T[] result, BitSet _fetched, int s, int e);
048
049}