| 1 28 29 package com.idaremedia.antx.feedback; 30 31 import com.idaremedia.antx.helpers.Tk; 32 import com.idaremedia.antx.parameters.EnumSkeleton; 33 34 47 48 public final class MainField extends EnumSkeleton 49 { 50 public static final int INCLUDE_THREAD = 0x01; 51 public static final int INCLUDE_PROJECT = 0x02; 52 public static final int INCLUDE_TARGET = 0x04; 53 public static final int INCLUDE_TASK = 0x08; 54 public static final int INCLUDE_NESTED = 0x10; 55 public static final int INCLUDE_ALL = 0xff; 56 public static final int DEFAULT_FILTER = INCLUDE_ALL; 57 58 59 60 public static final int PROJECT_INDEX= 0; 61 62 public static final int TARGET_INDEX= PROJECT_INDEX+1; 63 64 public static final int TASK_INDEX= TARGET_INDEX+1; 65 66 public static final int MESSAGE_INDEX= TASK_INDEX+1; 67 68 public static final int INDICATOR_INDEX= MESSAGE_INDEX+1; 69 70 public static final int UNKNOWN_INDEX= INDICATOR_INDEX+1; 71 72 73 public static final MainField PROJECT = 74 new MainField("project",PROJECT_INDEX,INCLUDE_PROJECT); 75 76 public static final MainField TARGET = 77 new MainField("target",TARGET_INDEX,INCLUDE_TARGET); 78 79 public static final MainField TASK = 80 new MainField("task",TASK_INDEX,INCLUDE_TASK); 81 82 public static final MainField MESSAGE = 83 new MainField("message",MESSAGE_INDEX, INCLUDE_ALL); 84 85 public static final MainField INDICATOR = 86 new MainField("indicator",INDICATOR_INDEX, INCLUDE_ALL); 87 88 public static final MainField UNKNOWN = 89 new MainField("_any_",UNKNOWN_INDEX, INCLUDE_ALL); 90 91 92 95 public MainField() 96 { 97 super(); 98 } 99 100 101 105 private MainField(String v, int i, int filter) 106 { 107 super(v); 108 m_filter = filter; 109 } 110 111 112 116 public String [] getValues() 117 { 118 return new String [] {"project","target","task","message", 119 "indicator","_any_"}; 120 }; 121 122 123 126 final int getFilter() 127 { 128 return m_filter; 129 } 130 131 132 137 public static MainField from(int i) 138 { 139 if (i==TASK.index) { return TASK; } 140 if (i==MESSAGE.index) { return MESSAGE; } 141 if (i==TARGET.index) { return TARGET; } 142 if (i==PROJECT.index) { return PROJECT; } 143 if (i==INDICATOR.index) { return INDICATOR; } 144 if (i==UNKNOWN.index) { return UNKNOWN; } 145 return null; 146 } 147 148 149 156 public static MainField from(int i, MainField dflt) 157 { 158 MainField mf= from(i); 159 return (mf==null) ? dflt : mf; 160 } 161 162 163 168 public static MainField from(String s) 169 { 170 if (s!=null && s.length()>1) { 171 s = Tk.lowercaseFrom(s); 172 if (Character.isDigit(s.charAt(0))) { 173 try { return from(Integer.parseInt(s)); } 174 catch(Exception nfx) {} 175 } else { 176 if (TASK.value.equals(s)) { return TASK; } 177 if (MESSAGE.value.equals(s)) { return MESSAGE; } 178 if (TARGET.value.equals(s)) { return TARGET; } 179 if (PROJECT.value.equals(s)) { return PROJECT; } 180 if (INDICATOR.value.equals(s)) { return INDICATOR; } 181 if (UNKNOWN.value.equals(s)) { return UNKNOWN; } 182 } 183 } 184 return null; 185 } 186 187 188 195 public static MainField from(String s, MainField dflt) 196 { 197 MainField mf= from(s); 198 return (mf==null) ? dflt : mf; 199 } 200 201 202 private int m_filter; 203 } 204 205 206 | Popular Tags |