]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/jcr/lists/SimpleJcrRowLabelProvider.java
Fix glitch when using a user table with check box column
[lgpl/argeo-commons.git] / org.argeo.eclipse.ui / src / org / argeo / eclipse / ui / jcr / lists / SimpleJcrRowLabelProvider.java
1 package org.argeo.eclipse.ui.jcr.lists;
2
3 import javax.jcr.Node;
4 import javax.jcr.RepositoryException;
5 import javax.jcr.query.Row;
6
7 import org.argeo.ArgeoException;
8
9 /**
10 * Base implementation of a label provider for widgets that display JCR Rows.
11 */
12 public class SimpleJcrRowLabelProvider extends SimpleJcrNodeLabelProvider {
13 private static final long serialVersionUID = -3414654948197181740L;
14
15 final private String selectorName;
16
17 /**
18 * Default Label provider for a given property of a row. Using default
19 * pattern for date and number formating
20 */
21 public SimpleJcrRowLabelProvider(String selectorName, String propertyName) {
22 super(propertyName);
23 this.selectorName = selectorName;
24 }
25
26 /**
27 * Label provider for a given property of a node optionally precising date
28 * and/or number format patterns
29 */
30 public SimpleJcrRowLabelProvider(String selectorName, String propertyName,
31 String dateFormatPattern, String numberFormatPattern) {
32 super(propertyName, dateFormatPattern, numberFormatPattern);
33 this.selectorName = selectorName;
34 }
35
36 @Override
37 public String getText(Object element) {
38 try {
39 Row currRow = (Row) element;
40 Node currNode = currRow.getNode(selectorName);
41 return super.getText(currNode);
42 } catch (RepositoryException re) {
43 throw new ArgeoException("Unable to get Node " + selectorName
44 + " from row " + element, re);
45 }
46 }
47 }