Package kawa.lang

Class ListPat

All Implemented Interfaces:
gnu.kawa.format.Printable

public class ListPat extends Pattern
Match a list whose length in in the range [min_length..max_length].
  • Constructor Details

    • ListPat

      public ListPat(int len)
    • ListPat

      public ListPat(int min, int max)
    • ListPat

      public ListPat(int min, int max, Object default_val)
  • Method Details

    • match

      public static boolean match(int min, int max, Object default_val, Object obj, Object[] vars, int start_vars)
    • match

      public static Object[] match(int min, int max, Object default_val, Object obj)
      Succeeds if obj is a list of length [min..max].
      Parameters:
      obj - the object to match against
      Returns:
      true iff the match succeeded On success, max_length values from the elements of the list are placed in vars (starting at start_vars); if obj is shorter, missing elements are set to default_value.
    • match

      public boolean match(Object obj, Object[] vars, int start_vars)
      Succeeds if obj is a list of length [min_length..max_length].
      Specified by:
      match in class Pattern
      Parameters:
      obj - the object to match against
      vars - the "pattern variable" values extracted from obj go here
      start_vars - where in vars to strt putting the varCount() values
      Returns:
      null on failure, or an array of bound pattern variables: max_length values from the elements of the list are placed in the result; if obj is shorter, missing elements are set to default_value.
    • varCount

      public int varCount()
      Specified by:
      varCount in class Pattern
    • print

      public void print(Consumer out)
      Specified by:
      print in interface gnu.kawa.format.Printable
      Overrides:
      print in class Pattern