+package org.argeo.eclipse.ui.jcr;
+
+import javax.jcr.Node;
+import javax.jcr.RepositoryException;
+
+import org.eclipse.jface.viewers.ColumnLabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+/** Simplifies writing JCR-based column label provider. */
+public class NodeColumnLabelProvider extends ColumnLabelProvider {
+ private static final long serialVersionUID = -6586692836928505358L;
+
+ protected String getNodeText(Node node) throws RepositoryException {
+ return super.getText(node);
+ }
+
+ protected String getNodeToolTipText(Node node) throws RepositoryException {
+ return super.getToolTipText(node);
+ }
+
+ protected Image getNodeImage(Node node) throws RepositoryException {
+ return super.getImage(node);
+ }
+
+ @Override
+ public String getText(Object element) {
+ try {
+ return getNodeText((Node) element);
+ } catch (RepositoryException e) {
+ throw new RuntimeException("Runtime repository exception when accessing " + element, e);
+ }
+ }
+
+ @Override
+ public Image getImage(Object element) {
+ try {
+ return getNodeImage((Node) element);
+ } catch (RepositoryException e) {
+ throw new RuntimeException("Runtime repository exception when accessing " + element, e);
+ }
+ }
+
+ @Override
+ public String getToolTipText(Object element) {
+ try {
+ return getNodeToolTipText((Node) element);
+ } catch (RepositoryException e) {
+ throw new RuntimeException("Runtime repository exception when accessing " + element, e);
+ }
+ }
+
+}