org.apache.tinkerpop.gremlin.process.computer.util

## Class ImmutableMemory

- java.lang.Object
- - org.apache.tinkerpop.gremlin.process.computer.util.ImmutableMemory

- All Implemented Interfaces:
    Memory, Memory.Admin

      public final class ImmutableMemory
      extends Object
      implements Memory.Admin

  Author:
    Marko A. Rodriguez (http://markorodriguez.com)

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.computer.Memory

      `Memory.Admin, Memory.Exceptions`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImmutableMemory(Memory baseMemory)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(String key, Object value)` Set the value of the provided key.
    `<R> R` | `get(String key)` Get the value associated with the provided key.
    `int` | `getIteration()` Get the current iteration number.
    `long` | `getRuntime()` Get the amount of milliseconds the `GraphComputer` has been executing thus far.
    `void` | `incrIteration()`
    `Set<String>` | `keys()` The set of keys currently associated with this memory.
    `void` | `set(String key, Object value)`
    `void` | `setIteration(int iteration)`
    `void` | `setRuntime(long runtime)`
    `String` | `toString()`

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

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

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.process.computer.Memory.Admin

      `asImmutable`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.process.computer.Memory

      `asMap, exists, isInitialIteration`

- - ### Constructor Detail

    - #### ImmutableMemory

          public ImmutableMemory(Memory baseMemory)

  - ### Method Detail

    - #### keys

          public Set<String> keys()

      Description copied from interface: `Memory`
      The set of keys currently associated with this memory.
      Specified by:
        `keys` in interface `Memory`
      Returns:
        the memory's key set.

    - #### get

          public <R> R get(String key)
                    throws IllegalArgumentException

      Description copied from interface: `Memory`
      Get the value associated with the provided key.
      Specified by:
        `get` in interface `Memory`
      Type Parameters:
        `R` - the type of the value
      Parameters:
        `key` - the key of the value
      Returns:
        the value
      Throws:
        `IllegalArgumentException` - is thrown if the key does not exist

    - #### set

          public void set(String key,
                          Object value)

      Specified by:
        `set` in interface `Memory`

    - #### getIteration

          public int getIteration()

      Description copied from interface: `Memory`
      Get the current iteration number.
      Specified by:
        `getIteration` in interface `Memory`
      Returns:
        the current iteration

    - #### getRuntime

          public long getRuntime()

      Description copied from interface: `Memory`
      Get the amount of milliseconds the `GraphComputer` has been executing thus far.
      Specified by:
        `getRuntime` in interface `Memory`
      Returns:
        the total time in milliseconds

    - #### add

          public void add(String key,
                          Object value)

      Description copied from interface: `Memory`
      Set the value of the provided key. This is typically called in setup() and/or terminate() of the `VertexProgram`. If this is called during execute(), there is no guarantee as to the ultimately stored value as call order is indeterminate.
      Specified by:
        `add` in interface `Memory`
      Parameters:
        `key` - they key to set a value for
        `value` - the value to set for the key

    - #### incrIteration

          public void incrIteration()

      Specified by:
        `incrIteration` in interface `Memory.Admin`

    - #### setIteration

          public void setIteration(int iteration)

      Specified by:
        `setIteration` in interface `Memory.Admin`

    - #### setRuntime

          public void setRuntime(long runtime)

      Specified by:
        `setRuntime` in interface `Memory.Admin`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2013–2019 Apache Software Foundation. All rights reserved.