org.apache.tinkerpop.gremlin.spark.process.computer

## Class SparkMemory

- java.lang.Object
- - org.apache.tinkerpop.gremlin.spark.process.computer.SparkMemory

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

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

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `Map<String,MemoryComputeKey>` | `memoryComputeKeys`

  - ### Constructor Summary

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

  - ### 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` | `broadcastMemory(JavaSparkContext sparkContext)`
    `protected void` | `complete()`
    `<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` | `setInExecute(boolean inExecute)`
    `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`

- - ### Field Detail

    - #### memoryComputeKeys

          public final Map<String,MemoryComputeKey> memoryComputeKeys

  - ### Constructor Detail

    - #### SparkMemory

          public SparkMemory(VertexProgram<?> vertexProgram,
                             Set<MapReduce> mapReducers,
                             JavaSparkContext sparkContext)

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

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

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

    - #### set

          public void set(String key,
                          Object value)

      Specified by:
        `set` in interface `Memory`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### complete

          protected void complete()

    - #### setInExecute

          public void setInExecute(boolean inExecute)

    - #### broadcastMemory

          protected void broadcastMemory(JavaSparkContext sparkContext)

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