Cache (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.types.selectors.modifiedselector, interface: Cache

# Interface Cache

All Known Implementing Classes:
  `PropertiesfileCache`

public interface Cache
A Cache let the user store key-value-pairs in a permanent manner and access them. It is possible that a client uses get() before load() therefore the implementation must ensure that no error occurred because of the wrong order. The implementing class should implement a useful toString() method.

Since:
  Ant 1.6
Version:
  2003-09-13

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `delete()`
  Deletes the cache.
  `Object`
  `get(Object key)`
  Returns a value for a given key from the cache.
  `boolean`
  `isValid()`
  Checks its prerequisites.
  `Iterator<String>`
  `iterator()`
  Returns an iterator over the keys in the cache.
  `void`
  `load()`
  Loads the cache, must handle not existing cache.
  `void`
  `put(Object key, Object value)`
  Saves a key-value-pair in the cache.
  `void`
  `save()`
  Saves modification of the cache.

- ## Method Details

  - ### isValid

    boolean isValid()
    Checks its prerequisites.
    Returns:
      true if all is ok, otherwise false.

  - ### delete

    void delete()
    Deletes the cache. If file based the file has to be deleted also.

  - ### load

    void load()
    Loads the cache, must handle not existing cache.

  - ### save

    void save()
    Saves modification of the cache.

  - ### get

    Object get(Object key)
    Returns a value for a given key from the cache.
    Parameters:
      `key` - the key
    Returns:
      the stored value

  - ### put

    void put(Object key, Object value)
    Saves a key-value-pair in the cache.
    Parameters:
      `key` - the key
      `value` - the value

  - ### iterator

    Iterator<String> iterator()
    Returns an iterator over the keys in the cache.
    Returns:
      An iterator over the keys.