1 19 20 package org.netbeans.modules.tasklist.docscan; 21 22 import org.netbeans.modules.tasklist.core.filter.Filter; 23 import org.netbeans.modules.tasklist.core.filter.PriorityCondition; 24 import org.netbeans.modules.tasklist.core.filter.StringFilterCondition; 25 import org.netbeans.modules.tasklist.core.filter.FilterConvertor; 26 import org.netbeans.modules.tasklist.core.filter.AppliedFilterCondition; 27 28 import org.netbeans.modules.tasklist.core.filter.SuggestionProperty; 29 30 31 32 35 final class SourceTasksFilter extends Filter { 36 37 SuggestionProperty [] PROPS = new SuggestionProperty[] { 39 SourceTaskProperties.PROP_TASK, 40 SourceTaskProperties.PROP_PRIORITY, 41 SourceTaskProperties.PROP_FILENAME}; 42 43 44 49 public SourceTasksFilter(String name) { 50 super(name); 51 } 52 53 public SourceTasksFilter(final SourceTasksFilter rhs) { 54 super(rhs); 55 56 } 57 58 public Object clone() { 59 return new SourceTasksFilter(this); 60 } 61 62 63 private SourceTasksFilter() {} 64 65 66 public SuggestionProperty[] getProperties() { return PROPS;} 67 68 public AppliedFilterCondition[] createConditions(SuggestionProperty property) { 70 if (property.equals(SourceTaskProperties.PROP_TASK)) { 71 return applyConditions(property, StringFilterCondition.createConditions()); 72 } 73 else if (property.equals(SourceTaskProperties.PROP_PRIORITY)) { 74 return applyConditions(property, PriorityCondition.createConditions()); 75 } 76 else if (property.equals(SourceTaskProperties.PROP_FILENAME)) { 77 return applyConditions(property, StringFilterCondition.createConditions()); 78 } else 79 throw new IllegalArgumentException ("Unknown property for SourceTasksFilter : " + property.getID()); 80 } 81 82 83 private static class Convertor extends FilterConvertor { 84 85 public Convertor() { 86 super("SourceTasksFilter"); 87 } 88 89 public static SourceTasksFilter.Convertor create() { return new SourceTasksFilter.Convertor();} 90 91 protected Filter createFilter() { return new SourceTasksFilter();} 92 93 protected SuggestionProperty getProperty(String propid) { 94 SuggestionProperty sp = SourceTaskProperties.getProperty(propid); 95 if (sp == null) 96 return super.getProperty(propid); 97 else 98 return sp; 99 } 100 101 } 102 } 103 | Popular Tags |