## org.jrobin.core
Class ArcState

    java.lang.Object
      org.jrobin.core.ArcState

All Implemented Interfaces:
  org.jrobin.core.RrdUpdater

public class ArcState
extends java.lang.Object
implements org.jrobin.core.RrdUpdater

Class to represent internal RRD archive state for a single datasource. Objects of this class are never manipulated directly, it's up to JRobin framework to manage internal arcihve states.

Method Summary
`void` `copyStateTo(org.jrobin.core.RrdUpdater other)` Copies object's internal state to another ArcState object.
`double` `getAccumValue()` Returns the value accumulated so far.
`long` `getNanSteps()` Returns the number of currently accumulated NaN steps.
`Archive` `getParent()` Returns the Archive object to which this ArcState object belongs.
`org.jrobin.core.RrdAllocator` `getRrdAllocator()` Required to implement RrdUpdater interface.
`RrdBackend` `getRrdBackend()` Returns the underlying storage (backend) object which actually performs all I/O operations.

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

Method Detail

### getNanSteps

    public long getNanSteps()
                     throws java.io.IOException

  Returns the number of currently accumulated NaN steps.

  Returns:
    Number of currently accumulated NaN steps.
  Throws:
    `java.io.IOException` - Thrown in case of I/O error

### getAccumValue

    public double getAccumValue()
                         throws java.io.IOException

  Returns the value accumulated so far.

  Returns:
    Accumulated value
  Throws:
    `java.io.IOException` - Thrown in case of I/O error

### getParent

    public Archive getParent()

  Returns the Archive object to which this ArcState object belongs.

  Returns:
    Parent Archive object.

### copyStateTo

    public void copyStateTo(org.jrobin.core.RrdUpdater other)
                     throws java.io.IOException,
                            RrdException

  Copies object's internal state to another ArcState object.

  Specified by:
    `copyStateTo` in interface `org.jrobin.core.RrdUpdater`
  Parameters:
    `other` - New ArcState object to copy state to
  Throws:
    `java.io.IOException` - Thrown in case of I/O error
    `RrdException` - Thrown if supplied argument is not an ArcState object

### getRrdBackend

    public RrdBackend getRrdBackend()

  Returns the underlying storage (backend) object which actually performs all I/O operations.

  Specified by:
    `getRrdBackend` in interface `org.jrobin.core.RrdUpdater`
  Returns:
    I/O backend object

### getRrdAllocator

    public org.jrobin.core.RrdAllocator getRrdAllocator()

  Required to implement RrdUpdater interface. You should never call this method directly.

  Specified by:
    `getRrdAllocator` in interface `org.jrobin.core.RrdUpdater`
  Returns:
    Allocator object