## org.jrobin.core
Class RrdMemoryBackendFactory

    java.lang.Object
      org.jrobin.core.RrdBackendFactory
          org.jrobin.core.RrdMemoryBackendFactory

public class RrdMemoryBackendFactory
extends RrdBackendFactory

Factory class which creates actual `RrdMemoryBackend` objects. JRobin's support for in-memory RRDs is still experimental. You should know that all active RrdMemoryBackend objects are held in memory, each backend object stores RRD data in one big byte array. This implementation is therefore quite basic and memory hungry but runs very fast.

Calling `close()` on RrdDb objects does not release any memory at all (RRD data must be available for the next `new RrdDb(path)` call. To release allocated memory, you'll have to call `delete(path)` method of this class.

Field Summary
`static java.lang.String` `NAME` factory name, "MEMORY"

Constructor Summary
`RrdMemoryBackendFactory()`

Method Summary
`boolean` `delete(java.lang.String id)` Removes the storage with the given ID from the memory.
`protected boolean` `exists(java.lang.String id)` Method to determine if a memory storage with the given ID already exists.
`java.lang.String` `getFactoryName()` Returns the name of this factory.
`protected RrdBackend` `open(java.lang.String id, boolean readOnly, int lockMode)` Creates RrdMemoryBackend object.

Methods inherited from class org.jrobin.core.RrdBackendFactory
`getDefaultFactory, getFactory, registerAndSetAsDefaultFactory, registerFactory, setDefaultFactory`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### NAME

    public static final java.lang.String NAME

  factory name, "MEMORY"

  See Also:
    Constant Field Values

Constructor Detail

### RrdMemoryBackendFactory

    public RrdMemoryBackendFactory()

Method Detail

### open

    protected RrdBackend open(java.lang.String id,
                              boolean readOnly,
                              int lockMode)
                       throws java.io.IOException

  Creates RrdMemoryBackend object.

  Specified by:
    `open` in class `RrdBackendFactory`
  Parameters:
    `id` - Since this backend holds all data in memory, this argument is interpreted as an ID for this memory-based storage.
    `readOnly` - This parameter is ignored
    `lockMode` - This parameter is ignored
  Returns:
    RrdMemoryBackend object which handles all I/O operations
  Throws:
    `java.io.IOException` - Thrown in case of I/O error.

### exists

    protected boolean exists(java.lang.String id)

  Method to determine if a memory storage with the given ID already exists.

  Specified by:
    `exists` in class `RrdBackendFactory`
  Parameters:
    `id` - Memory storage ID.
  Returns:
    True, if such storage exists, false otherwise.

### delete

    public boolean delete(java.lang.String id)

  Removes the storage with the given ID from the memory.

  Parameters:
    `id` - Storage ID
  Returns:
    True, if the storage with the given ID is deleted, false otherwise.

### getFactoryName

    public java.lang.String getFactoryName()

  Returns the name of this factory.

  Specified by:
    `getFactoryName` in class `RrdBackendFactory`
  Returns:
    Factory name (equals to "MEMORY").