Class NullaryMaskedTupleMemory<Timestamp extends Comparable<Timestamp>>

java.lang.Object
tools.refinery.interpreter.matchers.memories.MaskedTupleMemory<Timestamp>
tools.refinery.interpreter.matchers.memories.NullaryMaskedTupleMemory<Timestamp>
All Implemented Interfaces:
Clearable, MaskedResumable<Timestamp>, Resumable<Timestamp>

public final class NullaryMaskedTupleMemory<Timestamp extends Comparable<Timestamp>> extends MaskedTupleMemory<Timestamp>
Specialized for nullary mask; tuples are stored as a simple set/multiset memory.
Since:
2.0
  • Field Details

    • UNIT_RELATION

      protected static final Set<Tuple> UNIT_RELATION
    • EMPTY_RELATION

      protected static final Set<Tuple> EMPTY_RELATION
    • tuples

      protected IMemory<Tuple> tuples
  • Constructor Details

    • NullaryMaskedTupleMemory

      public NullaryMaskedTupleMemory(TupleMask mask, CollectionsFactory.MemoryType bucketType, Object owner)
      Parameters:
      mask - The mask used to index the matchings
      bucketType - the kind of tuple collection maintained for each indexer bucket
      owner - the object "owning" this memory
      Since:
      2.0
  • Method Details

    • getKeysetSize

      public int getKeysetSize()
      Specified by:
      getKeysetSize in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
      Returns:
      the number of distinct signatures of all stored tuples.
    • getSignatures

      public Iterable<Tuple> getSignatures()
      Description copied from class: MaskedTupleMemory
      Retrieves a read-only view of exactly those signatures for which at least one tuple is stored
      Specified by:
      getSignatures in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
    • get

      public Collection<Tuple> get(ITuple signature)
      Description copied from class: MaskedTupleMemory
      Retrieves tuples that have the specified signature
      Specified by:
      get in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
      Returns:
      collection of tuples found, null if none
    • remove

      public boolean remove(Tuple tuple, Tuple signature)
      Description copied from class: MaskedTupleMemory
      Removes a tuple occurrence from the memory with the given signature.
      Overrides:
      remove in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
      Parameters:
      tuple - the tuple to be removed from the memory
      signature - precomputed footprint of the tuple according to the mask
      Returns:
      true if this was the the last occurrence of the signature (according to the mask)
    • remove

      public boolean remove(Tuple tuple)
      Description copied from class: MaskedTupleMemory
      Removes a tuple occurrence from the memory.
      Overrides:
      remove in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
      Parameters:
      tuple - the tuple to be removed from the memory
      Returns:
      true if this was the the last occurrence of the signature (according to the mask)
    • add

      public boolean add(Tuple tuple, Tuple signature)
      Description copied from class: MaskedTupleMemory
      Adds a tuple occurrence to the memory with the given signature.
      Overrides:
      add in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
      Parameters:
      tuple - the tuple to be added to the memory
      signature - precomputed footprint of the tuple according to the mask
      Returns:
      true if new signature encountered (according to the mask)
    • add

      public boolean add(Tuple tuple)
      Description copied from class: MaskedTupleMemory
      Adds a tuple occurrence to the memory.
      Overrides:
      add in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
      Parameters:
      tuple - the tuple to be added to the memory
      Returns:
      true if new signature encountered (according to the mask)
    • getWithTimeline

      public Map<Tuple,Timeline<Timestamp>> getWithTimeline(ITuple signature)
      Description copied from class: MaskedTupleMemory
      Retrieves the tuples and their associated timelines that have the specified signature.
      Specified by:
      getWithTimeline in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
      Returns:
      the mappings from tuples to timelines, null if there is no mapping for the signature
    • clear

      public void clear()
      Description copied from interface: Clearable
      Clear all partial matchings stored in memory
    • getTotalSize

      public int getTotalSize()
      Specified by:
      getTotalSize in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>
      Returns:
      the total number of distinct tuples stored. Multiple copies of the same tuple, if allowed, are counted as one.

      This is currently not cached but computed on demand. It is therefore not efficient, and shall only be used for debug / profiling purposes.

    • iterator

      public Iterator<Tuple> iterator()
      Description copied from class: MaskedTupleMemory
      Iterates over distinct tuples stored in the memory, regardless of their signatures.
      Specified by:
      iterator in class MaskedTupleMemory<Timestamp extends Comparable<Timestamp>>