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

## Class MapMemory

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

- All Implemented Interfaces:
    Serializable, Memory, Memory.Admin

      public final class MapMemory
      extends Object
      implements Memory.Admin, Serializable

  Author:
    Marko A. Rodriguez (http://markorodriguez.com)
  See Also:
    Serialized Form

- - ### 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
    `MapMemory()`
    `MapMemory(Memory otherMemory)`

  - ### 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.
    `void` | `addMapReduceMemoryKey(MapReduce mapReduce)`
    `void` | `addVertexProgramMemoryComputeKeys(VertexProgram<?> vertexProgram)`
    `<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

    - #### MapMemory

          public MapMemory()

    - #### MapMemory

          public MapMemory(Memory otherMemory)

  - ### Method Detail

    - #### addVertexProgramMemoryComputeKeys

          public void addVertexProgramMemoryComputeKeys(VertexProgram<?> vertexProgram)

    - #### addMapReduceMemoryKey

          public void addMapReduceMemoryKey(MapReduce mapReduce)

    - #### 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

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### 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`

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