1 19 20 package org.netbeans.modules.tasklist.suggestions; 21 22 import org.netbeans.modules.tasklist.core.filter.AppliedFilterCondition; 23 import org.netbeans.modules.tasklist.core.filter.Filter; 24 import org.netbeans.modules.tasklist.core.filter.IntegerFilterCondition; 25 import org.netbeans.modules.tasklist.core.filter.PriorityCondition; 26 import org.netbeans.modules.tasklist.core.filter.StringFilterCondition; 27 import org.netbeans.modules.tasklist.core.filter.FilterConvertor; 28 import org.netbeans.modules.tasklist.core.filter.SuggestionProperties; 29 import org.netbeans.modules.tasklist.core.filter.SuggestionProperty; 30 31 35 public class SuggestionFilter extends Filter { 36 private static final String [] PROP_KEYS = { 37 "SuggestionsRoot", "Details", "Priority", "File", "Line", "Category", }; 44 45 private static final SuggestionProperty[] PROPS = new SuggestionProperty[] { 46 SuggestionImplProperties.PROP_SUMMARY, 47 SuggestionImplProperties.PROP_DETAILS, 48 SuggestionImplProperties.PROP_PRIORITY, 49 SuggestionImplProperties.PROP_FILENAME, 50 SuggestionImplProperties.PROP_LINE_NUMBER, 51 SuggestionImplProperties.PROP_CATEGORY 52 }; 53 54 55 56 57 62 public SuggestionFilter(String name) { 63 super(name); 64 } 65 66 public SuggestionFilter(SuggestionFilter rhs) { super(rhs); } 67 68 private SuggestionFilter() { } 70 71 public Object clone() { return new SuggestionFilter(this);} 72 73 public SuggestionProperty[] getProperties() { return PROPS;} 74 75 76 public AppliedFilterCondition[] createConditions(SuggestionProperty property) { 77 if (property.equals(SuggestionProperties.PROP_SUMMARY)) { 78 return applyConditions(property, StringFilterCondition.createConditions()); 79 } 80 else if (property.equals(SuggestionImplProperties.PROP_DETAILS)) { 81 return applyConditions(property, StringFilterCondition.createConditions()); 82 } 83 else if (property.equals(SuggestionImplProperties.PROP_PRIORITY)) { 84 return applyConditions(property, PriorityCondition.createConditions()); 85 } 86 else if (property.equals(SuggestionImplProperties.PROP_FILENAME)) { 87 return applyConditions(property, StringFilterCondition.createConditions()); 88 } 89 else if (property.equals(SuggestionImplProperties.PROP_LINE_NUMBER)) { 90 return applyConditions(property, IntegerFilterCondition.createConditions()); 91 } 92 else if (property.equals(SuggestionImplProperties.PROP_CATEGORY)) { 93 return applyConditions(property, StringFilterCondition.createConditions()); 94 } 95 else 96 throw new IllegalArgumentException ("wrong property"); 97 98 } 99 100 private static class Convertor extends FilterConvertor { 101 102 public Convertor() { 103 super("SuggestionFilter"); 104 } 105 106 public static SuggestionFilter.Convertor create() { return new SuggestionFilter.Convertor();} 107 108 protected Filter createFilter() { return new SuggestionFilter();} 109 110 protected SuggestionProperty getProperty(String propid) { 111 SuggestionProperty sp = SuggestionImplProperties.getProperty(propid); 112 if (sp == null) 113 return super.getProperty(propid); 114 else 115 return sp; 116 } 117 118 } 119 120 121 } 122 | Popular Tags |