KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > prefuse > visual > expression > InGroupPredicate


1 package prefuse.visual.expression;
2
3 import prefuse.data.Schema;
4 import prefuse.data.Tuple;
5 import prefuse.data.expression.Predicate;
6 import prefuse.visual.VisualItem;
7
8 /**
9  * Expression that indicates if an item is currently a member of a particular
10  * data group. The data group name is provided by a String-valued
11  * sub-expression.
12  *
13  * @author <a HREF="http://jheer.org">jeffrey heer</a>
14  */

15 public class InGroupPredicate extends GroupExpression implements Predicate {
16     
17     /**
18      * Create a new InGroupPredicate.
19      */

20     public InGroupPredicate() {
21     }
22     
23     /**
24      * Create a new InGroupPredicate.
25      * @param group @param group the data group name to use as a parameter
26      */

27     public InGroupPredicate(String JavaDoc group) {
28         super(group);
29     }
30     
31     /**
32      * @see prefuse.data.expression.Expression#get(prefuse.data.Tuple)
33      */

34     public Object JavaDoc get(Tuple t) {
35         return getBoolean(t) ? Boolean.TRUE : Boolean.FALSE;
36     }
37     
38     /**
39      * @see prefuse.data.expression.Expression#getBoolean(prefuse.data.Tuple)
40      */

41     public boolean getBoolean(Tuple t) {
42         if ( !(t instanceof VisualItem) )
43             return false;
44         
45         String JavaDoc group = getGroup(t);
46         if ( group == null ) {
47             return false;
48         }
49         VisualItem item = (VisualItem)t;
50         return item.getVisualization().isInGroup(item, group);
51     }
52
53     /**
54      * @see prefuse.data.expression.Function#getName()
55      */

56     public String JavaDoc getName() {
57         return "INGROUP";
58     }
59
60     /**
61      * @see prefuse.data.expression.Expression#getType(prefuse.data.Schema)
62      */

63     public Class JavaDoc getType(Schema s) {
64         return boolean.class;
65     }
66     
67 } // end of class InGroupPredicate
68
Popular Tags