kawa.lang

Class ListPat


public class ListPat
extends Pattern

Match a list whose length in in the range [min_length..max_length].

Field Summary

Fields inherited from class kawa.lang.Pattern

matchPatternMethod, typePattern

Constructor Summary

ListPat(int len)
ListPat(int min, int max)
ListPat(int min, int max, Object default_val)

Method Summary

boolean
match(Object obj, Object[] vars, int start_vars)
Succeeds if obj is a list of length [min_length..max_length].
static Object[]
match(int min, int max, Object default_val, Object obj)
Succeeds if obj is a list of length [min..max].
static boolean
match(int min, int max, Object default_val, Object obj, Object[] vars, int start_vars)
int
varCount()

Methods inherited from class kawa.lang.Pattern

match, match, varCount

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 boolean match(Object obj,
                     Object[] vars,
                     int start_vars)
Succeeds if obj is a list of length [min_length..max_length].
Overrides:
match in interface Pattern
Parameters:
obj - the object to match against
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.

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 static boolean match(int min,
                            int max,
                            Object default_val,
                            Object obj,
                            Object[] vars,
                            int start_vars)

varCount

public int varCount()
Overrides:
varCount in interface Pattern