Class TupleMask0

java.lang.Object
tools.refinery.interpreter.matchers.tuple.TupleMask
tools.refinery.interpreter.matchers.tuple.TupleMask0

public final class TupleMask0 extends TupleMask
Since:
1.7
  • Method Details

    • transform

      public <T> List<T> transform(List<T> original)
      Description copied from class: TupleMask
      Generates an immutable, masked view of the original tuple.

      The list will have arity TupleMask.getSize(), and will consist of the elements of the original tuple, at positions indicated by this mask.

      Overrides:
      transform in class TupleMask
    • transform

      public Tuple transform(ITuple original)
      Description copied from class: TupleMask
      Generates an immutable, masked view of the original tuple.

      The new tuple will have arity TupleMask.getSize(), and will consist of the elements of the original tuple, at positions indicated by this mask.

      Overrides:
      transform in class TupleMask
    • transform

      public TupleMask transform(TupleMask mask)
      Description copied from class: TupleMask
      Transforms a given mask directly, instead of transforming tuples that were transformed by the other mask.
      Overrides:
      transform in class TupleMask
      Returns:
      a mask that cascades the effects this mask after the mask provided as parameter.
    • combine

      public Tuple combine(Tuple unmasked, Tuple masked, boolean useInheritance, boolean asComplementer)
      Description copied from class: TupleMask
      Combines two substitutions. The new pattern will contain all substitutions of masked and unmasked, assuming that the elements of masked indicated by this mask are already matched against unmasked. POST: the result will start with an exact copy of unmasked
      Overrides:
      combine in class TupleMask
      Parameters:
      unmasked - primary pattern substitution that is left intact.
      masked - secondary pattern substitution that is transformed to the end of the result.
      useInheritance - whether to use inheritance or copy umasked into result instead.
      asComplementer - whether this mask maps from the masked Tuple to the tail of the result or to the unmasked one.
      Returns:
      new pattern that is a combination of unmasked and masked.
    • isIdentity

      public boolean isIdentity()
      Overrides:
      isIdentity in class TupleMask
      Returns:
      true iff this mask is a no-op