Interface PStateStore

All Superinterfaces:
Store
All Known Subinterfaces:
DocumentStore<K>, KeyValueStore<K,V>

public interface PStateStore extends Store
Direct access to Rama's built-in PState storage. PStates are stores defined as any combination of data structures of any size. They are distributed, durable, and replicated, and read and written to with a flexible "path" API.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    <V> List<V>
    select(com.rpl.rama.Path path)
    Selects data using a path expression.
    <V> List<V>
    select(Object partitioningKey, com.rpl.rama.Path path)
    Selects data using a path expression with a partitioning key.
    <V> V
    selectOne(com.rpl.rama.Path path)
    Selects a single value using a path expression.
    <V> V
    selectOne(Object partitioningKey, com.rpl.rama.Path path)
    Selects a single value using a path expression with a partitioning key.
    void
    transform(Object partitioningKey, com.rpl.rama.Path path)
    Transforms data using a path expression with a partitioning key.
  • Method Details

    • select

      <V> List<V> select(com.rpl.rama.Path path)
      Selects data using a path expression.
      Type Parameters:
      V - the type of data being selected
      Parameters:
      path - the path expression for data selection, e.g Path.key("a").mapVals()
      Returns:
      list of selected values
    • select

      <V> List<V> select(Object partitioningKey, com.rpl.rama.Path path)
      Selects data using a path expression with a partitioning key.
      Type Parameters:
      V - the type of data being selected
      Parameters:
      partitioningKey - the partitioning key for the operation
      path - the path expression for data selection, e.g Path.key("a").mapVals()
      Returns:
      list of selected values
    • selectOne

      <V> V selectOne(com.rpl.rama.Path path)
      Selects a single value using a path expression.
      Type Parameters:
      V - the type of data being selected
      Parameters:
      path - the path expression for data selection, e.g Path.key("a", "b")
      Returns:
      the selected value, or null if not found
    • selectOne

      <V> V selectOne(Object partitioningKey, com.rpl.rama.Path path)
      Selects a single value using a path expression with a partitioning key.
      Type Parameters:
      V - the type of data being selected
      Parameters:
      partitioningKey - the partitioning key for the operation
      path - the path expression for data selection, e.g Path.key("a", "b")
      Returns:
      the selected value, or null if not found
    • transform

      void transform(Object partitioningKey, com.rpl.rama.Path path)
      Transforms data using a path expression with a partitioning key.
      Parameters:
      partitioningKey - the partitioning key for the operation
      path - the path expression for data transformation, e.g Path.key("a", "b").termVal(10)