package net.sourceforge.pmd.eclipse.ui.preferences; import net.sourceforge.pmd.Rule; import net.sourceforge.pmd.eclipse.plugin.UISettings; import net.sourceforge.pmd.eclipse.ui.preferences.br.RuleUIUtil; /** * Implements a label provider for the rules item to be displayed in the * rule table of the PMD Preference page * * @author Philippe Herlin */ public class RuleLabelProvider extends AbstractTableLabelProvider { /** * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(Object, int) */ public String getColumnText(Object element, int columnIndex) { String result = ""; if (element instanceof Rule) { Rule rule = (Rule) element; if (columnIndex == 0) { result = rule.getLanguage().getShortName(); } else if (columnIndex == 1) { result = RuleUIUtil.ruleSetNameFrom(rule); /* if (rule instanceof RuleReference) { RuleReference ruleReference = (RuleReference)rule; String fileName = ruleReference.getRuleSetReference().getRuleSetFileName(); if (fileName != null) { result = result + " : " + fileName; } } */ } else if (columnIndex == 2) { result = rule.getName(); // } else if (columnIndex == 3) { // result = rule.getSince(); // result = (result == null) ? "n/a" : result; } else if (columnIndex == 3) { result = UISettings.labelFor(rule.getPriority()); } else if (columnIndex == 5) { result = rule.getDescription(); result = (result == null) ? "" : result.trim(); } } return result; } }