NoLoader.java

  1. /*
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  You may obtain a copy of the License at
  9.  *
  10.  *   http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing,
  13.  * software distributed under the License is distributed on an
  14.  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15.  * KIND, either express or implied.  See the License for the
  16.  * specific language governing permissions and limitations
  17.  * under the License.
  18.  */
  19. package org.apache.commons.jcs3.jcache;

  20. import java.util.HashMap;
  21. import java.util.Map;

  22. import javax.cache.integration.CacheLoader;
  23. import javax.cache.integration.CacheLoaderException;

  24. public class NoLoader<K, V> implements CacheLoader<K, V>
  25. {
  26.     public static final NoLoader<?, ?> INSTANCE = new NoLoader<>();

  27.     private NoLoader()
  28.     {
  29.         // no-op
  30.     }

  31.     @Override
  32.     public V load(final K key) throws CacheLoaderException
  33.     {
  34.         return null;
  35.     }

  36.     @Override
  37.     public Map<K, V> loadAll(final Iterable<? extends K> keys) throws CacheLoaderException
  38.     {
  39.         final Map<K, V> entries = new HashMap<>();
  40.         for (final K k : keys)
  41.         {
  42.             entries.put(k, null);
  43.         }
  44.         return entries;
  45.     }
  46. }