BrightSide Workbench Full Report + Source Code
org.turro.zkoss.filter.FilterField Class Referenceabstract
Inheritance diagram for org.turro.zkoss.filter.FilterField:
Collaboration diagram for org.turro.zkoss.filter.FilterField:

Public Member Functions

 FilterField (String label, String value)
 
 FilterField (String label, Number value)
 
 FilterField (String label, Date value)
 
 FilterField (String label, Boolean value)
 
 FilterField (String label, Enum value)
 
 FilterField (String label)
 
 FilterField (String label, String value, FilterFieldOperator operator)
 
 FilterField (String label, Number value, FilterFieldOperator operator)
 
 FilterField (String label, Date value, FilterFieldOperator operator)
 
 FilterField (String label, Boolean value, FilterFieldOperator operator)
 
 FilterField (String label, Enum value, FilterFieldOperator operator)
 
 FilterField (String label, FilterFieldOperator operator)
 
ChainOperator getChain ()
 
void setChain (ChainOperator chain)
 
Enum[] getChoices ()
 
void setChoices (Enum[] choices)
 
boolean isFixed ()
 
void setFixed (boolean fixed)
 
String getFormat ()
 
void setFormat (String format)
 
String getLabel ()
 
void setLabel (String label)
 
EnumSet< FilterFieldOperatorgetOperators ()
 
void setOperators (EnumSet< FilterFieldOperator > operators)
 
FilterFieldOperator getOperator ()
 
void setOperator (FilterFieldOperator operator)
 
int getScale ()
 
void setScale (int scale)
 
Object getObjectValue ()
 
boolean hasValue ()
 
HtmlBasedComponent getEditor ()
 
HtmlBasedComponent getOperatorEditor ()
 
EnumListbox< ChainOperatorgetChainEditor ()
 
abstract void addConstraint (WhereClause wc)
 
void doAddConstraint (WhereClause wc, String field)
 
void doAddConstraint (WhereClause wc, String[] fields)
 
void doAddSubqueryConstraint (WhereClause wc, String collection, String field)
 
void doAddSubqueryConstraint (WhereClause wc, String collection, String[] fields)
 
void doAddSubqueryConstraint (WhereClause wc, String collection[], String field)
 
void doAddSubqueryConstraint (WhereClause wc, String collection[], String[] fields)
 
void afterCompose ()
 
Object clone ()
 

Static Public Attributes

static final String FIELD_SUBSTITUTION_REGEXP = "[\\.\\‍(\\‍) \\,\\:\<\>\\=]"
 

Protected Member Functions

HtmlBasedComponent createEditor ()
 
HtmlBasedComponent createOperatorEditor ()
 
EnumListbox< ChainOperatorcreateChainEditor ()
 
Object getEditorValue ()
 

Protected Attributes

EnumSet< FilterFieldOperatoroperators
 
HtmlBasedComponent editor
 
EnumListbox< ChainOperatorchainEditor
 
Object value
 
int scale
 
boolean fixed
 
String label
 
Enum[] choices
 
ChainOperator chain
 
FilterFieldOperator operator=FilterFieldOperator.FILTER_EQUAL
 

Detailed Description

Author
Lluis TurrĂ³ Cutiller lluis.nosp@m.@tur.nosp@m.ro.or.nosp@m.g

Definition at line 38 of file FilterField.java.

Constructor & Destructor Documentation

◆ FilterField() [1/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
String  value 
)

Definition at line 53 of file FilterField.java.

53  {
54  this(label, value, FilterFieldOperator.FILTER_CONTAINS);
55  }

◆ FilterField() [2/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
Number  value 
)

Definition at line 57 of file FilterField.java.

57  {
58  this(label, value, FilterFieldOperator.FILTER_EQUAL);
59  }

◆ FilterField() [3/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
Date  value 
)

Definition at line 61 of file FilterField.java.

61  {
62  this(label, value, FilterFieldOperator.FILTER_BIG_OR_EQUAL);
63  }

◆ FilterField() [4/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
Boolean  value 
)

Definition at line 65 of file FilterField.java.

65  {
66  this(label, value, FilterFieldOperator.FILTER_EQUAL);
67  }

◆ FilterField() [5/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
Enum  value 
)

Definition at line 69 of file FilterField.java.

69  {
70  this(label, value, FilterFieldOperator.FILTER_EQUAL);
71  }

◆ FilterField() [6/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label)

Definition at line 73 of file FilterField.java.

73  {
74  this(label, FilterFieldOperator.FILTER_EQUAL);
75  }

◆ FilterField() [7/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
String  value,
FilterFieldOperator  operator 
)

Definition at line 77 of file FilterField.java.

77  {
78  this.label = label;
79  this.value = value;
80  this.operator = operator;
81  operators = EnumSet.of(
82  FilterFieldOperator.FILTER_CONTAINS,
83  FilterFieldOperator.FILTER_EQUAL,
84  FilterFieldOperator.FILTER_LESS,
85  FilterFieldOperator.FILTER_LESS_OR_EQUAL,
86  FilterFieldOperator.FILTER_BIG,
87  FilterFieldOperator.FILTER_BIG_OR_EQUAL,
88  FilterFieldOperator.FILTER_REGEXP,
89  FilterFieldOperator.FILTER_NOT_EQUAL);
90  chain = ChainOperator.AND;
91  }
EnumSet< FilterFieldOperator > operators

◆ FilterField() [8/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
Number  value,
FilterFieldOperator  operator 
)

Definition at line 93 of file FilterField.java.

93  {
94  this.label = label;
95  this.value = value;
96  this.operator = operator;
97  this.scale = 2;
98  operators = EnumSet.of(
99  FilterFieldOperator.FILTER_EQUAL,
100  FilterFieldOperator.FILTER_LESS,
101  FilterFieldOperator.FILTER_LESS_OR_EQUAL,
102  FilterFieldOperator.FILTER_BIG,
103  FilterFieldOperator.FILTER_BIG_OR_EQUAL,
104  FilterFieldOperator.FILTER_NOT_EQUAL);
105  chain = ChainOperator.AND;
106  }

◆ FilterField() [9/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
Date  value,
FilterFieldOperator  operator 
)

Definition at line 108 of file FilterField.java.

108  {
109  this.label = label;
110  this.value = value;
111  this.operator = operator;
112  operators = EnumSet.of(
113  FilterFieldOperator.FILTER_EQUAL,
114  FilterFieldOperator.FILTER_LESS,
115  FilterFieldOperator.FILTER_LESS_OR_EQUAL,
116  FilterFieldOperator.FILTER_BIG,
117  FilterFieldOperator.FILTER_BIG_OR_EQUAL,
118  FilterFieldOperator.FILTER_NOT_EQUAL);
119  chain = ChainOperator.AND;
120  }

◆ FilterField() [10/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
Boolean  value,
FilterFieldOperator  operator 
)

Definition at line 122 of file FilterField.java.

122  {
123  this.label = label;
124  this.value = value;
125  this.operator = operator;
126  operators = EnumSet.of(
127  FilterFieldOperator.FILTER_EQUAL,
128  FilterFieldOperator.FILTER_NOT_EQUAL);
129  chain = ChainOperator.AND;
130  }

◆ FilterField() [11/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
Enum  value,
FilterFieldOperator  operator 
)

Definition at line 132 of file FilterField.java.

132  {
133  this.label = label;
134  this.value = value;
135  this.operator = operator;
136  operators = EnumSet.of(
137  FilterFieldOperator.FILTER_EQUAL,
138  FilterFieldOperator.FILTER_NOT_EQUAL);
139  chain = ChainOperator.AND;
140  }

◆ FilterField() [12/12]

org.turro.zkoss.filter.FilterField.FilterField ( String  label,
FilterFieldOperator  operator 
)

Definition at line 142 of file FilterField.java.

142  {
143  this.label = label;
144  this.value = null;
145  this.editor = null;
146  this.operator = operator;
147  operators = EnumSet.of(
148  FilterFieldOperator.FILTER_EQUAL,
149  FilterFieldOperator.FILTER_NOT_EQUAL);
150  chain = ChainOperator.AND;
151  }

Member Function Documentation

◆ addConstraint()

abstract void org.turro.zkoss.filter.FilterField.addConstraint ( WhereClause  wc)
abstract

◆ afterCompose()

void org.turro.zkoss.filter.FilterField.afterCompose ( )

Definition at line 444 of file FilterField.java.

444  {
445  if(editor != null && editor instanceof AfterCompose) {
446  ((AfterCompose) editor).afterCompose();
447  }
448  if(operatorEditor != null && operatorEditor instanceof AfterCompose) {
449  ((AfterCompose) operatorEditor).afterCompose();
450  }
451  if(chainEditor != null && chainEditor instanceof AfterCompose) {
452  ((AfterCompose) chainEditor).afterCompose();
453  }
454  }
EnumListbox< ChainOperator > chainEditor

◆ clone()

Object org.turro.zkoss.filter.FilterField.clone ( )

Definition at line 457 of file FilterField.java.

457  {
458  try {
459  return super.clone();
460  } catch (CloneNotSupportedException e) {
461  return null;
462  }
463  }
Here is the caller graph for this function:

◆ createChainEditor()

EnumListbox<ChainOperator> org.turro.zkoss.filter.FilterField.createChainEditor ( )
protected

Definition at line 303 of file FilterField.java.

303  {
304  EnumListbox<ChainOperator> col = new EnumListbox<ChainOperator>(ChainOperator.values());
305  col.setObjectValue(chain);
306  col.setMold("select");
307  //col.afterCompose();
308  return col;
309  }
Here is the caller graph for this function:

◆ createEditor()

HtmlBasedComponent org.turro.zkoss.filter.FilterField.createEditor ( )
protected

Reimplemented in org.turro.contacts.filter.ProvinceFilterField, and org.turro.contacts.filter.CityFilterField.

Definition at line 272 of file FilterField.java.

272  {
273  if(value instanceof Boolean) {
274  Checkbox cb = new Checkbox();
275  cb.setChecked((Boolean) value);
276  return cb;
277  } else if(value instanceof Number) {
278  ExpressionInput ei = new ExpressionInput();
279  ei.setValue(value);
280  return ei;
281  } else if(value instanceof Date) {
282  DateboxShort db = new DateboxShort((Date) value);
283  db.setFormat(format);
284  return db;
285  } else if(value instanceof Enum) {
286  InputEnum ie = new InputEnum(choices);
287  ie.setObjectValue((Enum) value);
288  return ie;
289  } else {
290  Textbox tb = new Textbox((String) value);
291  return tb;
292  }
293  }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createOperatorEditor()

HtmlBasedComponent org.turro.zkoss.filter.FilterField.createOperatorEditor ( )
protected

Definition at line 295 of file FilterField.java.

295  {
296  EnumListbox<FilterFieldOperator> col = new EnumListbox<FilterFieldOperator>(operators.toArray(new FilterFieldOperator[0]));
297  col.setObjectValue(operator);
298  col.setMold("select");
299  //col.afterCompose();
300  return col;
301  }
Here is the caller graph for this function:

◆ doAddConstraint() [1/2]

void org.turro.zkoss.filter.FilterField.doAddConstraint ( WhereClause  wc,
String  field 
)

Definition at line 336 of file FilterField.java.

336  {
337  doAddConstraint(wc, new String[] { field });
338  }
void doAddConstraint(WhereClause wc, String field)

◆ doAddConstraint() [2/2]

void org.turro.zkoss.filter.FilterField.doAddConstraint ( WhereClause  wc,
String[]  fields 
)

Definition at line 340 of file FilterField.java.

340  {
341  if(!hasValue()) return;
342  Object obj = getObjectValue();
343  if(FilterFieldOperator.FILTER_CONTAINS.equals(getOperator())) {
344  if(obj instanceof String) {
345  String prefix = wc.getPrefix();
346  wc.setPrefix(getChain().getOpSQL());
347  wc = SQLHelper.getWhereClause(wc, fields, ((String) obj).replaceAll("\\*", "%"));
348  wc.setPrefix(prefix);
349  }
350  } else if(FilterFieldOperator.FILTER_REGEXP.equals(getOperator())) {
351 
352  } else {
353  String param = fields[0].replaceAll(FIELD_SUBSTITUTION_REGEXP, "_") + wc.getUniqueSuffix();
354  wc.addClause(getChain().getOpSQL() + " " + fields[0] + " " + getOperator().getOpSQL() + " :" + param);
355  wc.addNamedValue(param, obj);
356  }
357  }
static final String FIELD_SUBSTITUTION_REGEXP
FilterFieldOperator getOperator()
Here is the call graph for this function:

◆ doAddSubqueryConstraint() [1/4]

void org.turro.zkoss.filter.FilterField.doAddSubqueryConstraint ( WhereClause  wc,
String  collection,
String  field 
)

Definition at line 359 of file FilterField.java.

359  {
360  doAddSubqueryConstraint(wc, collection, new String[] { field });
361  }
void doAddSubqueryConstraint(WhereClause wc, String collection, String field)
Here is the caller graph for this function:

◆ doAddSubqueryConstraint() [2/4]

void org.turro.zkoss.filter.FilterField.doAddSubqueryConstraint ( WhereClause  wc,
String  collection,
String[]  fields 
)

Definition at line 363 of file FilterField.java.

363  {
364  if(!hasValue()) return;
365  Object obj = getObjectValue();
366  if(FilterFieldOperator.FILTER_CONTAINS.equals(getOperator())) {
367  String param = fields[0].replaceAll(FIELD_SUBSTITUTION_REGEXP, "_") + wc.getUniqueSuffix();
368  wc.addClause(getChain().getOpSQL() + " exists");
369  wc.addClause("(");
370  wc.addClause("select sqx from " + collection + " as sqx");
371  wc.addClause("where sqx." + fields[0] + " " + getOperator().getOpSQL() + " :" + param);
372  wc.addNamedValue(param, ((String) obj).replaceAll("\\*", "%"));
373  wc.addClause(")");
374  } else if(FilterFieldOperator.FILTER_REGEXP.equals(getOperator())) {
375 
376  } else {
377  String param = fields[0].replaceAll(FIELD_SUBSTITUTION_REGEXP, "_") + wc.getUniqueSuffix();
378  wc.addClause(getChain().getOpSQL() + " exists");
379  wc.addClause("(");
380  wc.addClause("select sqx from " + collection + " as sqx");
381  wc.addClause("where sqx." + fields[0] + " " + getOperator().getOpSQL() + " :" + param);
382  wc.addNamedValue(param, obj);
383  wc.addClause(")");
384  }
385  }
Here is the call graph for this function:

◆ doAddSubqueryConstraint() [3/4]

void org.turro.zkoss.filter.FilterField.doAddSubqueryConstraint ( WhereClause  wc,
String  collection[],
String  field 
)

Definition at line 387 of file FilterField.java.

387  {
388  doAddSubqueryConstraint(wc, collection, new String[] { field });
389  }
Here is the call graph for this function:

◆ doAddSubqueryConstraint() [4/4]

void org.turro.zkoss.filter.FilterField.doAddSubqueryConstraint ( WhereClause  wc,
String  collection[],
String[]  fields 
)

Definition at line 391 of file FilterField.java.

391  {
392  if(!hasValue()) return;
393  Object obj = getObjectValue();
394  if(FilterFieldOperator.FILTER_CONTAINS.equals(getOperator())) {
395  addLikeSubqueries(wc, collection, fields, 0);
396  } else if(FilterFieldOperator.FILTER_REGEXP.equals(getOperator())) {
397 
398  } else {
399  addSubqueries(wc, collection, fields, 0);
400  }
401  }
Here is the call graph for this function:

◆ getChain()

ChainOperator org.turro.zkoss.filter.FilterField.getChain ( )

Definition at line 153 of file FilterField.java.

153  {
154  if(chainEditor != null) {
155  return (ChainOperator) ((EnumListbox) chainEditor).getObjectValue();
156  }
157  return chain;
158  }
Here is the caller graph for this function:

◆ getChainEditor()

EnumListbox<ChainOperator> org.turro.zkoss.filter.FilterField.getChainEditor ( )

Definition at line 264 of file FilterField.java.

264  {
265  if(chainEditor == null) {
267  chainEditor.setHflex("1");
268  }
269  return chainEditor;
270  }
EnumListbox< ChainOperator > createChainEditor()
Here is the call graph for this function:

◆ getChoices()

Enum [] org.turro.zkoss.filter.FilterField.getChoices ( )

Definition at line 164 of file FilterField.java.

164  {
165  return choices;
166  }

◆ getEditor()

HtmlBasedComponent org.turro.zkoss.filter.FilterField.getEditor ( )

Definition at line 239 of file FilterField.java.

239  {
240  if(editor == null) {
241  editor = createEditor();
242  editor.setHflex("1");
243  }
244 // if(editor instanceof Decimalbox) {
245 // editor.setWidth("100%");
246 // } else if(editor instanceof Datebox) {
247 // editor.setWidth("80px");
248 // } else if(editor instanceof Combobox) {
249 // editor.setWidth("95%");
250 // } else if(editor instanceof Textbox) {
251 // editor.setWidth("100%");
252 // }
253  return editor;
254  }
HtmlBasedComponent createEditor()
Here is the call graph for this function:

◆ getEditorValue()

Object org.turro.zkoss.filter.FilterField.getEditorValue ( )
protected

Definition at line 311 of file FilterField.java.

311  {
312  if(editor instanceof Checkbox) {
313  return ((Checkbox) editor).isChecked();
314  } else if(editor instanceof Decimalbox) {
315  return StringParser.convertToClass(value.getClass(), ((Decimalbox) editor).getValue());
316  } else if(editor instanceof ExpressionInput) {
317  return StringParser.convertToClass(value.getClass(), ((ExpressionInput) editor).getNumber(scale));
318  } else if(editor instanceof Datebox) {
319  return ((Datebox) editor).getValue();
320  } else if(editor instanceof GenericListbox) {
321  return ((GenericListbox) editor).getObjectValue();
322  } else if(editor instanceof GenericCombobox) {
323  return ((GenericCombobox) editor).getObjectValue();
324  } else if(editor instanceof Listbox) {
325  return ((Listbox) editor).getSelectedItem().getValue();
326  } else if(editor instanceof InputEnum) {
327  return ((InputEnum) editor).getObjectValue();
328  } else {
329  return ((Textbox) editor).getText();
330  }
331  }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getFormat()

String org.turro.zkoss.filter.FilterField.getFormat ( )

Definition at line 180 of file FilterField.java.

180  {
181  return format;
182  }

◆ getLabel()

String org.turro.zkoss.filter.FilterField.getLabel ( )

Implements org.turro.plugin.filter.IFilterValue.

Definition at line 189 of file FilterField.java.

189  {
190  return label;
191  }

◆ getObjectValue()

Object org.turro.zkoss.filter.FilterField.getObjectValue ( )

Definition at line 224 of file FilterField.java.

224  {
225  return getEditorValue();
226  }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOperator()

FilterFieldOperator org.turro.zkoss.filter.FilterField.getOperator ( )

Definition at line 205 of file FilterField.java.

205  {
206  if(operatorEditor != null) {
207  return (FilterFieldOperator) ((EnumListbox) operatorEditor).getObjectValue();
208  }
209  return operator;
210  }
Here is the caller graph for this function:

◆ getOperatorEditor()

HtmlBasedComponent org.turro.zkoss.filter.FilterField.getOperatorEditor ( )

Definition at line 256 of file FilterField.java.

256  {
257  if(operatorEditor == null) {
258  operatorEditor = createOperatorEditor();
259  operatorEditor.setHflex("1");
260  }
261  return operatorEditor;
262  }
HtmlBasedComponent createOperatorEditor()
Here is the call graph for this function:

◆ getOperators()

EnumSet<FilterFieldOperator> org.turro.zkoss.filter.FilterField.getOperators ( )

Definition at line 197 of file FilterField.java.

197  {
198  return operators;
199  }

◆ getScale()

int org.turro.zkoss.filter.FilterField.getScale ( )

Definition at line 216 of file FilterField.java.

216  {
217  return scale;
218  }

◆ hasValue()

boolean org.turro.zkoss.filter.FilterField.hasValue ( )

Implements org.turro.plugin.filter.IFilterValue.

Definition at line 229 of file FilterField.java.

229  {
230  Object v = getObjectValue();
231  if(v instanceof String) {
232  if(Strings.isBlank((String) v)) {
233  return false;
234  }
235  }
236  return v != null;
237  }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isFixed()

boolean org.turro.zkoss.filter.FilterField.isFixed ( )

Definition at line 172 of file FilterField.java.

172  {
173  return fixed;
174  }

◆ setChain()

void org.turro.zkoss.filter.FilterField.setChain ( ChainOperator  chain)

Definition at line 160 of file FilterField.java.

160  {
161  this.chain = chain;
162  }

◆ setChoices()

void org.turro.zkoss.filter.FilterField.setChoices ( Enum[]  choices)

Definition at line 168 of file FilterField.java.

168  {
169  this.choices = choices;
170  }

◆ setFixed()

void org.turro.zkoss.filter.FilterField.setFixed ( boolean  fixed)

Definition at line 176 of file FilterField.java.

176  {
177  this.fixed = fixed;
178  }

◆ setFormat()

void org.turro.zkoss.filter.FilterField.setFormat ( String  format)

Definition at line 184 of file FilterField.java.

184  {
185  this.format = format;
186  }

◆ setLabel()

void org.turro.zkoss.filter.FilterField.setLabel ( String  label)

Definition at line 193 of file FilterField.java.

193  {
194  this.label = label;
195  }

◆ setOperator()

void org.turro.zkoss.filter.FilterField.setOperator ( FilterFieldOperator  operator)

Definition at line 212 of file FilterField.java.

212  {
213  this.operator = operator;
214  }

◆ setOperators()

void org.turro.zkoss.filter.FilterField.setOperators ( EnumSet< FilterFieldOperator operators)

Definition at line 201 of file FilterField.java.

201  {
202  this.operators = operators;
203  }

◆ setScale()

void org.turro.zkoss.filter.FilterField.setScale ( int  scale)

Definition at line 220 of file FilterField.java.

220  {
221  this.scale = scale;
222  }

Member Data Documentation

◆ chain

ChainOperator org.turro.zkoss.filter.FilterField.chain
protected

Definition at line 50 of file FilterField.java.

◆ chainEditor

EnumListbox<ChainOperator> org.turro.zkoss.filter.FilterField.chainEditor
protected

Definition at line 44 of file FilterField.java.

◆ choices

Enum [] org.turro.zkoss.filter.FilterField.choices
protected

Definition at line 49 of file FilterField.java.

◆ editor

HtmlBasedComponent org.turro.zkoss.filter.FilterField.editor
protected

Definition at line 43 of file FilterField.java.

◆ FIELD_SUBSTITUTION_REGEXP

final String org.turro.zkoss.filter.FilterField.FIELD_SUBSTITUTION_REGEXP = "[\\.\\‍(\\‍) \\,\\:\<\>\\=]"
static

Definition at line 40 of file FilterField.java.

◆ fixed

boolean org.turro.zkoss.filter.FilterField.fixed
protected

Definition at line 47 of file FilterField.java.

◆ label

String org.turro.zkoss.filter.FilterField.label
protected

Definition at line 48 of file FilterField.java.

◆ operator=FilterFieldOperator.FILTER_EQUAL

FilterFieldOperator org.turro.zkoss.filter.FilterField.operator=FilterFieldOperator.FILTER_EQUAL
protected

Definition at line 51 of file FilterField.java.

◆ operators

EnumSet<FilterFieldOperator> org.turro.zkoss.filter.FilterField.operators
protected

Definition at line 42 of file FilterField.java.

◆ scale

int org.turro.zkoss.filter.FilterField.scale
protected

Definition at line 46 of file FilterField.java.

◆ value

Object org.turro.zkoss.filter.FilterField.value
protected

Definition at line 45 of file FilterField.java.


The documentation for this class was generated from the following file: