001 /*
002 * Copyright 2001-2004 The Apache Software Foundation
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.apache.commons.cache;
017
018 import java.io.Serializable;
019
020 /**
021 * A {@link Cache} that doesn't.
022 * @version $Id: NoOpCache.java 155435 2005-02-26 13:17:27Z dirkv $
023 * @author Rodney Waldhoff
024 */
025 public class NoOpCache extends BaseCache implements Cache {
026 /** Returns <tt>false</tt>. */
027 public boolean store(Serializable key, Serializable val, Long expiry, Long cost, Serializable group) {
028 broadcastStoreRequested(key,val,expiry,cost,group);
029 broadcastNotStored(key,val,expiry,cost,group);
030 return false;
031 }
032
033 /** Returns <tt>null</tt>. */
034 public Serializable retrieve(Serializable key) {
035 broadcastRetrieveRequested(key);
036 broadcastNotRetrieved(key);
037 return null;
038 }
039
040 /** Returns an empty array. */
041 public Serializable[] getKeysForGroup(Serializable group) {
042 return new Serializable[0];
043 }
044
045 /** Returns <tt>false</tt> */
046 public boolean contains(Serializable key) {
047 return false;
048 }
049
050 /** No-op. */
051 public void clear(Serializable key) {
052 }
053
054 /** No-op. */
055 public void clearGroup(Serializable group) {
056 }
057
058 /** No-op. */
059 public void clear() {
060 }
061
062 /** Throws {@link UnsupportedOperationException} */
063 public long getStat(CacheStat stat) throws UnsupportedOperationException {
064 throw new UnsupportedOperationException();
065 }
066 }