org.apache.tinkerpop.gremlin.tinkergraph.process.computer

## Class TinkerMemory

- java.lang.Object
- - org.apache.tinkerpop.gremlin.tinkergraph.process.computer.TinkerMemory

- All Implemented Interfaces:
    Memory, Memory.Admin

      public final class TinkerMemory
      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`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `Map<String,Object>` | `currentMap`
    `Map<String,MemoryComputeKey>` | `memoryKeys`
    `Map<String,Object>` | `previousMap`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TinkerMemory(VertexProgram<?> vertexProgram, Set<MapReduce> mapReducers)`

  - ### 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.
    `protected void` | `checkKeyValue(String key, Object value)`
    `protected void` | `complete()`
    `protected void` | `completeSubRound()`
    `<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()`
    `boolean` | `isInitialIteration()` A helper method that states whether the current iteration is 0.
    `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`

- - ### Field Detail

    - #### memoryKeys

          public final Map<String,MemoryComputeKey> memoryKeys

    - #### previousMap

          public Map<String,Object> previousMap

    - #### currentMap

          public Map<String,Object> currentMap

  - ### Constructor Detail

    - #### TinkerMemory

          public TinkerMemory(VertexProgram<?> vertexProgram,
                              Set<MapReduce> mapReducers)

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

    - #### incrIteration

          public void incrIteration()

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

    - #### setIteration

          public void setIteration(int iteration)

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

    - #### getIteration

          public int getIteration()

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

    - #### setRuntime

          public void setRuntime(long runTime)

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

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

    - #### complete

          protected void complete()

    - #### completeSubRound

          protected void completeSubRound()

    - #### isInitialIteration

          public boolean isInitialIteration()

      Description copied from interface: `Memory`
      A helper method that states whether the current iteration is 0.
      Specified by:
        `isInitialIteration` in interface `Memory`
      Returns:
        whether this is the first iteration

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

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

    - #### checkKeyValue

          protected void checkKeyValue(String key,
                                       Object value)

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