KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > tasklist > usertasks > filter > UserTaskFilter


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.tasklist.usertasks.filter;
21
22 import java.io.Serializable JavaDoc;
23 import org.netbeans.modules.tasklist.core.filter.AppliedFilterCondition;
24 import org.netbeans.modules.tasklist.core.filter.BooleanFilterCondition;
25 import org.netbeans.modules.tasklist.core.filter.DateFilterCondition;
26 import org.netbeans.modules.tasklist.core.filter.Filter;
27 import org.netbeans.modules.tasklist.core.filter.FilterConvertor;
28 import org.netbeans.modules.tasklist.core.filter.IntegerFilterCondition;
29 import org.netbeans.modules.tasklist.core.filter.StringFilterCondition;
30 import org.netbeans.modules.tasklist.core.filter.SuggestionProperty;
31
32 /**
33  * Filter for user tasks
34  *
35  * @author tl
36  */

37 public class UserTaskFilter extends Filter {
38     private static final SuggestionProperty[] PROPS = new SuggestionProperty[] {
39         UserTaskProperties.PROP_SUMMARY,
40         UserTaskProperties.PROP_PRIORITY,
41         UserTaskProperties.PROP_CATEGORY,
42         UserTaskProperties.PROP_FILENAME,
43         UserTaskProperties.PROP_LINE_NUMBER,
44         UserTaskProperties.PROP_CREATED_DATE,
45         UserTaskProperties.PROP_LAST_EDITED_DATE,
46         UserTaskProperties.PROP_COMPLETED_DATE,
47         UserTaskProperties.PROP_DUE_DATE,
48         UserTaskProperties.PROP_DONE,
49         UserTaskProperties.PROP_PERCENT_COMPLETE,
50         UserTaskProperties.PROP_EFFORT,
51         UserTaskProperties.PROP_REMAINING_EFFORT,
52         UserTaskProperties.PROP_SPENT_TIME,
53         UserTaskProperties.PROP_SPENT_TIME_TODAY,
54         UserTaskProperties.PROP_OWNER,
55         UserTaskProperties.PROP_START
56     };
57     
58     /**
59      * Creates a new instance of UserTaskFilter
60      *
61      * @param name name of the filter
62      */

63     public UserTaskFilter(String JavaDoc name) {
64         super(name);
65     }
66   
67     public UserTaskFilter(UserTaskFilter rhs) {
68         super(rhs);
69     }
70
71     private UserTaskFilter() { // for deconvertization
72
}
73
74     public Object JavaDoc clone() {
75         return new UserTaskFilter(this);
76     }
77
78     public SuggestionProperty[] getProperties() {
79         return PROPS;
80     }
81     
82     public AppliedFilterCondition[] createConditions(SuggestionProperty property) {
83         if (property.equals(UserTaskProperties.PROP_SUMMARY)) {
84             return applyConditions(property, StringFilterCondition.createConditions());
85         } else if (property.equals(UserTaskProperties.PROP_PRIORITY)) {
86             return applyConditions(property, UTPriorityCondition.createConditions());
87         } else if (property.equals(UserTaskProperties.PROP_CATEGORY)) {
88             return applyConditions(property, StringFilterCondition.createConditions());
89         } else if (property.equals(UserTaskProperties.PROP_DETAILS)) {
90             return applyConditions(property, StringFilterCondition.createConditions());
91         } else if (property.equals(UserTaskProperties.PROP_FILENAME)) {
92             return applyConditions(property, StringFilterCondition.createConditions());
93         } else if (property.equals(UserTaskProperties.PROP_LINE_NUMBER)) {
94             return applyConditions(property, IntegerFilterCondition.createConditions());
95         } else if (property.equals(UserTaskProperties.PROP_CREATED_DATE)) {
96             return applyConditions(property, DateFilterCondition.createConditions());
97         } else if (property.equals(UserTaskProperties.PROP_LAST_EDITED_DATE)) {
98             return applyConditions(property, DateFilterCondition.createConditions());
99         } else if (property.equals(UserTaskProperties.PROP_COMPLETED_DATE)) {
100             return applyConditions(property, DateFilterCondition.createConditions());
101         } else if (property.equals(UserTaskProperties.PROP_DUE_DATE)) {
102             return applyConditions(property, DateFilterCondition.createConditions());
103         } else if (property.equals(UserTaskProperties.PROP_DONE)) {
104             return applyConditions(property, BooleanFilterCondition.createConditions());
105         } else if (property.equals(UserTaskProperties.PROP_PERCENT_COMPLETE)) {
106             return applyConditions(property, IntegerFilterCondition.createConditions());
107         } else if (property.equals(UserTaskProperties.PROP_EFFORT)) {
108             return applyConditions(property, DurationFilterCondition.createConditions());
109         } else if (property.equals(UserTaskProperties.PROP_REMAINING_EFFORT)) {
110             return applyConditions(property, DurationFilterCondition.createConditions());
111         } else if (property.equals(UserTaskProperties.PROP_SPENT_TIME)) {
112             return applyConditions(property, DurationFilterCondition.createConditions());
113         } else if (property.equals(UserTaskProperties.PROP_OWNER)) {
114             return applyConditions(property, StringFilterCondition.createConditions());
115         } else if (property.equals(UserTaskProperties.PROP_START)) {
116             return applyConditions(property, DateFilterCondition.createConditions());
117         } else if (property.equals(UserTaskProperties.PROP_SPENT_TIME_TODAY)) {
118             return applyConditions(property, DurationFilterCondition.createConditions());
119         } else {
120             throw new InternalError JavaDoc("Wrong index"); // NOI18N
121
}
122     }
123     
124
125     public static class Convertor extends FilterConvertor {
126         public Convertor() {
127             super("UserTaskFilter"); // NOI18N
128
}
129         
130         public static UserTaskFilter.Convertor create() {
131             return new UserTaskFilter.Convertor();
132         }
133         
134         protected Filter createFilter() { return new UserTaskFilter();}
135         
136         protected SuggestionProperty getProperty(String JavaDoc propid) {
137             SuggestionProperty sp = UserTaskProperties.getProperty(propid);
138             if (sp == null)
139                 return super.getProperty(propid);
140             else
141                 return sp;
142         }
143     }
144
145 }
146
Popular Tags