Class IdentityMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>>
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.matchers.memories.MaskedTupleMemory<Timestamp>
-
- org.eclipse.viatra.query.runtime.matchers.memories.IdentityMaskedTupleMemory<Timestamp>
-
- All Implemented Interfaces:
Clearable,MaskedResumable<Timestamp>,Resumable<Timestamp>
public final class IdentityMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>> extends MaskedTupleMemory<Timestamp>
Specialized for identity mask; tuples are stored as a simple set/multiset memory.- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description IdentityMaskedTupleMemory(TupleMask mask, CollectionsFactory.MemoryType bucketType, java.lang.Object owner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(Tuple tuple)Adds a tuple occurrence to the memory.booleanadd(Tuple tuple, Tuple signature)Adds a tuple occurrence to the memory with the given signature.voidclear()Clear all partial matchings stored in memoryjava.util.Collection<Tuple>get(ITuple signature)Retrieves tuples that have the specified signatureintgetKeysetSize()java.lang.Iterable<Tuple>getSignatures()Retrieves a read-only view of exactly those signatures for which at least one tuple is storedintgetTotalSize()java.util.Map<Tuple,Timeline<Timestamp>>getWithTimeline(ITuple signature)Retrieves the tuples and their associated timelines that have the specified signature.java.util.Iterator<Tuple>iterator()Iterates over distinct tuples stored in the memory, regardless of their signatures.booleanremove(Tuple tuple)Removes a tuple occurrence from the memory.booleanremove(Tuple tuple, Tuple signature)Removes a tuple occurrence from the memory with the given signature.-
Methods inherited from class org.eclipse.viatra.query.runtime.matchers.memories.MaskedTupleMemory
addWithTimestamp, addWithTimestamp, create, create, create, getMask, getOrEmpty, getOrEmptyWithTimeline, getOwner, getResumableSignatures, getResumableTimestamp, initializeWith, isPresentAtInfinity, isTimely, raiseDuplicateDeletion, raiseDuplicateInsertion, removeWithTimestamp, removeWithTimestamp, resumeAt, toString
-
-
-
-
Constructor Detail
-
IdentityMaskedTupleMemory
public IdentityMaskedTupleMemory(TupleMask mask, CollectionsFactory.MemoryType bucketType, java.lang.Object owner)
- Parameters:
mask- The mask used to index the matchingsowner- the object "owning" this memorybucketType- the kind of tuple collection maintained for each indexer bucket- Since:
- 2.0
-
-
Method Detail
-
getKeysetSize
public int getKeysetSize()
- Specified by:
getKeysetSizein classMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>>- Returns:
- the number of distinct signatures of all stored tuples.
-
getSignatures
public java.lang.Iterable<Tuple> getSignatures()
Description copied from class:MaskedTupleMemoryRetrieves a read-only view of exactly those signatures for which at least one tuple is stored- Specified by:
getSignaturesin classMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>>
-
get
public java.util.Collection<Tuple> get(ITuple signature)
Description copied from class:MaskedTupleMemoryRetrieves tuples that have the specified signature- Specified by:
getin classMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>>- Returns:
- collection of tuples found, null if none
-
remove
public boolean remove(Tuple tuple, Tuple signature)
Description copied from class:MaskedTupleMemoryRemoves a tuple occurrence from the memory with the given signature.- Overrides:
removein classMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>>- Parameters:
tuple- the tuple to be removed from the memorysignature- 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:MaskedTupleMemoryRemoves a tuple occurrence from the memory.- Overrides:
removein classMaskedTupleMemory<Timestamp extends java.lang.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:MaskedTupleMemoryAdds a tuple occurrence to the memory with the given signature.- Overrides:
addin classMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>>- Parameters:
tuple- the tuple to be added to the memorysignature- 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:MaskedTupleMemoryAdds a tuple occurrence to the memory.- Overrides:
addin classMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>>- Parameters:
tuple- the tuple to be added to the memory- Returns:
- true if new signature encountered (according to the mask)
-
getWithTimeline
public java.util.Map<Tuple,Timeline<Timestamp>> getWithTimeline(ITuple signature)
Description copied from class:MaskedTupleMemoryRetrieves the tuples and their associated timelines that have the specified signature.- Specified by:
getWithTimelinein classMaskedTupleMemory<Timestamp extends java.lang.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:ClearableClear all partial matchings stored in memory
-
getTotalSize
public int getTotalSize()
- Specified by:
getTotalSizein classMaskedTupleMemory<Timestamp extends java.lang.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 java.util.Iterator<Tuple> iterator()
Description copied from class:MaskedTupleMemoryIterates over distinct tuples stored in the memory, regardless of their signatures.- Specified by:
iteratorin classMaskedTupleMemory<Timestamp extends java.lang.Comparable<Timestamp>>
-
-