org.jrobin.core
public abstract class RrdBackendFactory extends Object
Factory classes are used to create concrete RrdBackend implementations. Each factory creates unlimited number of specific backend objects. JRobin supports four different backend types (backend factories) out of the box:
name
. Constructors
are provided in the RrdDb class to create RrdDb objects (RRD databases)
backed with a specific backend.See javadoc for RrdBackend to find out how to create your custom backends.
Method Summary | |
---|---|
protected abstract boolean | exists(String path)
Method to determine if a storage with the given path already exists.
|
static RrdBackendFactory | getDefaultFactory()
Returns the defaul backend factory. |
static RrdBackendFactory | getFactory(String name)
Returns backend factory for the given backend factory name.
|
abstract String | getFactoryName()
Returns the name (primary ID) for the factory.
|
protected abstract RrdBackend | open(String path, boolean readOnly)
Creates RrdBackend object for the given storage path.
|
static void | registerAndSetAsDefaultFactory(RrdBackendFactory factory)
Registers new (custom) backend factory within the JRobin framework and sets this
factory as the default.
|
static void | registerFactory(RrdBackendFactory factory)
Registers new (custom) backend factory within the JRobin framework.
|
static void | setDefaultFactory(String factoryName)
Replaces the default backend factory with a new one. |
Parameters: path Storage path
Returns: True, if such storage exists, false otherwise.
Returns: Default backend factory.
Parameters: name Backend factory name. Initially supported names are:
Returns: Backend factory for the given factory name
Throws: RrdException Thrown if no factory with the given name is available.
Returns: Name of the factory.
Parameters: path Storage path readOnly True, if the storage should be accessed in read/only mode. False otherwise.
Returns: Backend object which handles all I/O operations for the given storage path
Throws: IOException Thrown in case of I/O error.
Parameters: factory Factory to be registered and set as default
Throws: RrdException Thrown if the name of the specified factory is already used.
Parameters: factory Factory to be registered
Throws: RrdException Thrown if the name of the specified factory is already used.
Parameters: factoryName Name of the default factory. Out of the box, JRobin supports four different RRD backends: "FILE" (java.io.* based), "SAFE" (java.io.* based - use this backend if RRD files may be accessed from several JVMs at the same time), "NIO" (java.nio.* based) and "MEMORY" (byte[] based).
Throws: RrdException Thrown if invalid factory name is supplied or not called before the first RRD is created.