Class AbstractTuple

  • All Implemented Interfaces:
    ITuple
    Direct Known Subclasses:
    Tuple, VolatileTuple

    public abstract class AbstractTuple
    extends java.lang.Object
    implements ITuple
    Common implementation methods for immutable and volatile tuples. The class should not be used directly in client code, except for the definition of new tuple implementations.
    Since:
    1.7
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractTuple()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected int doCalcHash()  
      <T> java.util.Set<T> getDistinctElements()  
      java.lang.Object[] getElements()
      As the tuple is supposed to be immutable, do not modify the returned array.
      protected boolean internalEquals​(ITuple other)
      Compares the elements stored in this tuple to another tuple
      java.util.Map<java.lang.Object,​java.lang.Integer> invertIndex()
      Calculates an inverted index of the elements of this pattern.
      java.util.Map<java.lang.Object,​java.util.List<java.lang.Integer>> invertIndexWithMupliplicity()
      Calculates an inverted index of the elements of this pattern.
      protected java.lang.IndexOutOfBoundsException raiseIndexingError​(int index)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractTuple

        public AbstractTuple()
    • Method Detail

      • getElements

        public java.lang.Object[] getElements()
        As the tuple is supposed to be immutable, do not modify the returned array.
        Specified by:
        getElements in interface ITuple
        Returns:
        the array containing all elements of this Tuple
      • getDistinctElements

        public <T> java.util.Set<T> getDistinctElements()
        Specified by:
        getDistinctElements in interface ITuple
        Returns:
        the set containing all distinct elements of this Tuple, cast as type T
      • invertIndex

        public java.util.Map<java.lang.Object,​java.lang.Integer> invertIndex()
        Calculates an inverted index of the elements of this pattern. For each element, the index of the (last) occurrence is calculated.
        Specified by:
        invertIndex in interface ITuple
        Returns:
        the inverted index mapping each element of this pattern to its index in the array
      • invertIndexWithMupliplicity

        public java.util.Map<java.lang.Object,​java.util.List<java.lang.Integer>> invertIndexWithMupliplicity()
        Calculates an inverted index of the elements of this pattern. For each element, the index of all of its occurrences is calculated.
        Specified by:
        invertIndexWithMupliplicity in interface ITuple
        Returns:
        the inverted index mapping each element of this pattern to its index in the array
      • raiseIndexingError

        protected java.lang.IndexOutOfBoundsException raiseIndexingError​(int index)
        Since:
        1.7
      • internalEquals

        protected boolean internalEquals​(ITuple other)
        Compares the elements stored in this tuple to another tuple
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • doCalcHash

        protected int doCalcHash()
        Since:
        1.7