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. It is up to the implementation to determine the states in which this method can be called.
      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–2021 Apache Software Foundation. All rights reserved.