KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jac > util > Predicate


1 /*
2   Copyright (C) 2001 Laurent Martelli <laurent@aopsys.com>
3
4   This program is free software; you can redistribute it and/or modify
5   it under the terms of the GNU Lesser General Public License as
6   published by the Free Software Foundation; either version 2 of the
7   License, or (at your option) any later version.
8
9   This program is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12   GNU Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public License
15   along with this program; if not, write to the Free Software
16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */

17
18 package org.objectweb.jac.util;
19
20 import java.util.Collection JavaDoc;
21 import java.util.Iterator JavaDoc;
22 import java.util.List JavaDoc;
23
24
25 /**
26  * A Predicate class.
27  *
28  * @author <a HREF="mailto:laurent@aopsys.com">Laurent Martelli</a>
29  */

30
31 public abstract class Predicate {
32     public abstract boolean apply(Object JavaDoc object);
33     /**
34      * Keeps only the items matching the predicate from a collection
35      * @param in filter items from that collection
36      * @param out matching items are added to this collection
37      */

38     public void filter(Collection JavaDoc in, Collection JavaDoc out) {
39         Iterator JavaDoc i = in.iterator();
40         while (i.hasNext()) {
41             Object JavaDoc item = i.next();
42             if (apply(item)) {
43                 out.add(item);
44             }
45         }
46     }
47 }
48
Popular Tags