Package org.apache.tools.ant.types.selectors.modifiedselector

# Class PropertiesfileCache

java.lang.Object
org.apache.tools.ant.types.selectors.modifiedselector.PropertiesfileCache

All Implemented Interfaces:
  `Cache`

    public class PropertiesfileCache
    extends java.lang.Object
    implements Cache

Use java.util.Properties for storing the values. The use of this Cache-implementation requires the use of the parameter <param name="cache.cachefile" .../> for defining, where to store the properties file. The ModifiedSelector sets the cachefile to the default value cache.properties. Supported <param>s are:

Cache parameters
name | values | description | required
--- | --- | --- | ---
cache.cachefile | path to file | the name of the properties file | yes

Since:
  Ant 1.6
Version:
  2003-09-13

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`PropertiesfileCache()` | Bean-Constructor.
`PropertiesfileCache​(java.io.File cachefile)` | Constructor.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`void` | `delete()` | Deletes the cache and its underlying file.
`java.lang.Object` | `get​(java.lang.Object key)` | Returns a value for a given key from the cache.
`java.io.File` | `getCachefile()` | Getter.
`boolean` | `isValid()` | This cache is valid if the cachefile is set.
`java.util.Iterator<java.lang.String>` | `iterator()` | Returns an iterator over the keys in the cache.
`void` | `load()` | Load the cache from underlying properties file.
`void` | `put​(java.lang.Object key, java.lang.Object value)` | Saves a key-value-pair in the cache.
`void` | `save()` | Saves modification of the cache.
`void` | `setCachefile​(java.io.File file)` | Setter.
`java.lang.String` | `toString()` | Override Object.toString().

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### PropertiesfileCache

public PropertiesfileCache()
Bean-Constructor.

### PropertiesfileCache

public PropertiesfileCache​(java.io.File cachefile)
Constructor.

Parameters:
  `cachefile` - set the cachefile

## Method Details

### setCachefile

public void setCachefile​(java.io.File file)
Setter.

Parameters:
  `file` - new value

### getCachefile

public java.io.File getCachefile()
Getter.

Returns:
  the cachefile

### isValid

public boolean isValid()
This cache is valid if the cachefile is set.

Specified by:
  `isValid` in interface `Cache`
Returns:
  true if all is ok false otherwise

### load

public void load()
Load the cache from underlying properties file.

Specified by:
  `load` in interface `Cache`

### save

public void save()
Saves modification of the cache. Cache is only saved if there is one ore more entries. Because entries can not be deleted by this API, this Cache implementation checks the existence of entries before creating the file for performance optimisation.

Specified by:
  `save` in interface `Cache`

### delete

public void delete()
Deletes the cache and its underlying file.

Specified by:
  `delete` in interface `Cache`

### get

public java.lang.Object get​(java.lang.Object key)
Returns a value for a given key from the cache.

Specified by:
  `get` in interface `Cache`
Parameters:
  `key` - the key
Returns:
  the stored value

### put

public void put​(java.lang.Object key, java.lang.Object value)
Saves a key-value-pair in the cache.

Specified by:
  `put` in interface `Cache`
Parameters:
  `key` - the key
  `value` - the value

### iterator

public java.util.Iterator<java.lang.String> iterator()
Returns an iterator over the keys in the cache.

Specified by:
  `iterator` in interface `Cache`
Returns:
  An iterator over the keys.

### toString

public java.lang.String toString()
Override Object.toString().

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  information about this cache