📄 objectcache.java
字号:
/*
* Licensed under the X license (see http://www.x.org/terms.htm)
*/
package org.ofbiz.minerva.pool.cache;
/**
* A caching map. This associates one or more values with a
* key. When a value is requested for a key, a cached value
* will be returned if available, and a new value will be
* generated and cached otherwise. Instances of this interface
* require a CachedObjectFactory to generate new values, and
* control the caching in custom ways.
* @see org.ofbiz.minerva.pool.cache.CachedObjectFactory
* @author Aaron Mulder ammulder@alumni.princeton.edu
*/
public interface ObjectCache {
/**
* When setting the size, this constant means there should
* be no limit on the size of the cache. This is not
* recommended under ordinary circumstances.
*/
public final static int UNLIMITED_SIZE = 0;
/**
* Gets a cached object with the specified key. This is not
* an exclusive function - any number of clients may get the
* same object at the same time.
* @see #useObject
*/
public Object getObject(Object key);
/**
* Gets a cached object with the specified key. This is an
* exclusive function - no other client may get the same
* object at the same time. You must return the object using
* returnObject before another client may reuse this object.
* @see #getObject
* @see #returnObject
*/
public Object useObject(Object key);
/**
* Returns an object to the cache that is currently in use
* (checked out via useObject). No other client can use
* the same object until this method is called. The original
* client may not continue to use the object after this
* method is called.
* @see #useObject
*/
public void returnObject(Object key, Object value);
/**
* Removes all objects from the cache that have this key.
* There will only be more than one object with the same
* key if clients are using useObject and returnObject
* instead of getObject.
*/
public void removeObjects(Object key);
/**
* Sets the maximum number of objects in the cache. If the
* number of objects is at the limit and a new object is
* requested, other objects will be dropped from the cache.
*/
public void setSize(int size);
/**
* Removes all cached objects and stops the cache.
*/
public void close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -