Class BaseLeftInheritanceTuple

All Implemented Interfaces:
ITuple
Direct Known Subclasses:
LeftInheritanceTuple, LeftInheritanceTuple1, LeftInheritanceTuple2, LeftInheritanceTuple3, LeftInheritanceTuple4

public abstract class BaseLeftInheritanceTuple extends Tuple
Common functionality of left inheritance tuple implementations.

Left inheritance tuples inherit their first few elements from another tuple, and extend it with additional "local" elements.

Since:
1.7
  • Field Details

    • inheritedIndex

      protected final int inheritedIndex
      The number of elements that aren't stored locally, but inherited from an ancestor Tuple instead.
    • ancestor

      protected final Tuple ancestor
      This object contains the same elements as the ancestor on the first inheritedIndex positions
  • Constructor Details

    • BaseLeftInheritanceTuple

      public BaseLeftInheritanceTuple(Tuple ancestor)
      Parameters:
      ancestor -
  • Method Details

    • getLocalSize

      public abstract int getLocalSize()
      Returns:
      the number of local (non-inherited) elements
    • internalEquals

      protected boolean internalEquals(ITuple other)
      Optimized equals calculation (prediction: true, since hash values match)
      Overrides:
      internalEquals in class AbstractTuple
    • localEquals

      protected abstract boolean localEquals(BaseLeftInheritanceTuple other)
      Checks the equivalence of local elements only, after ancestor tuple has been determined to be equal.