/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.portal.kernel.cache;
import com.liferay.portal.kernel.nio.intraband.proxy.annotation.Id;
import com.liferay.portal.kernel.nio.intraband.proxy.annotation.Proxy;
import java.io.Serializable;
import java.util.List;
/**
* @author Brian Wing Shun Chan
* @author Edward Han
* @author Shuyang Zhou
*/
public interface PortalCache<K extends Serializable, V> {
public static final int DEFAULT_TIME_TO_LIVE = 0;
@Proxy
public V get(K key);
@Proxy
public List<K> getKeys();
/**
* @deprecated As of 7.0.0, replaced by {@link #getPortalCacheName()}
*/
@Deprecated
@Id
public String getName();
public PortalCacheManager<K, V> getPortalCacheManager();
@Id
public String getPortalCacheName();
@Proxy
public void put(K key, V value);
@Proxy
public void put(K key, V value, int timeToLive);
public void registerPortalCacheListener(
PortalCacheListener<K, V> portalCacheListener);
public void registerPortalCacheListener(
PortalCacheListener<K, V> portalCacheListener,
PortalCacheListenerScope portalCacheListenerScope);
@Proxy
public void remove(K key);
@Proxy
public void removeAll();
public void unregisterPortalCacheListener(
PortalCacheListener<K, V> portalCacheListener);
public void unregisterPortalCacheListeners();
}