View Javadoc
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.eclipse.ui.EclipseUiException;
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 EclipseUiException("Unable to get Node " + selectorName
44  					+ " from row " + element, re);
45  		}
46  	}
47  }