net.fortuna.ical4j.filter

## Class Filter

- java.lang.Object
- - net.fortuna.ical4j.filter.Filter

    public class Filter
    extends Object

$Id$ Created: Feb 1, 2006 Performs collection filtering based on a set of rules. A filter may dictate whether at least one rule or all rules are matched. NOTE: Implementation of filter rules has changed in recent releases to fix behaviour. Please ensure you update your code to use explicit constructors.

Author:
  Ben Fortuna

### Field Summary

Fields
`static int` `MATCH_ALL` Indicates that all rules must be matched to include an object in the filtered collection.
`static int` `MATCH_ANY` Indicates that any rule may be matched to include an object in the filtered collection.

### Constructor Summary

Constructors
Constructor and Description
`Filter(Rule rule)` Deprecated. Prior implementations of this class did not work as advertised, so to avoid confusion please use constructors that explicitly specify the desired behaviour
`Filter(Rule[] rules, int type)` Constructor.

### Method Summary

Methods
`Collection` `filter(Collection c)` Filter the given collection into a new collection.
`Object[]` `filter(Object[] objects)` Returns a filtered subset of the specified array.
`Rule[]` `getRules()`
`void` `setRules(Rule[] rules)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### MATCH_ANY

    public static final int MATCH_ANY

Indicates that any rule may be matched to include an object in the filtered collection.

See Also:
  Constant Field Values

#### MATCH_ALL

    public static final int MATCH_ALL

Indicates that all rules must be matched to include an object in the filtered collection.

See Also:
  Constant Field Values

### Constructor Detail

#### Filter

    public Filter(Rule rule)

Deprecated. Prior implementations of this class did not work as advertised, so to avoid confusion please use constructors that explicitly specify the desired behaviour
Constructor.

Parameters:
  `rule` - a rule that defines this filter

#### Filter

    public Filter(Rule[] rules,
          int type)

Constructor.

Parameters:
  `rules` - an array of rules that define this filter
  `type` - the type of matching to apply
See Also:
  `MATCH_ALL`, `MATCH_ANY`

### Method Detail

#### filter

    public final Collection filter(Collection c)

Filter the given collection into a new collection.

Parameters:
  `c` - a collection to filter
Returns:
  a filtered collection

#### filter

    public final Object[] filter(Object[] objects)

Returns a filtered subset of the specified array.

Parameters:
  `objects` - an array to filter
Returns:
  a filtered array

#### getRules

    public final Rule[] getRules()

Returns:
  Returns the rules.

#### setRules

    public final void setRules(Rule[] rules)

Parameters:
  `rules` - The rules to set.