package com.xrosstools.xunit.editor.model; import org.eclipse.ui.views.properties.IPropertyDescriptor; import com.xrosstools.xunit.BehaviorType; import com.xrosstools.xunit.editor.Activator; public class ValidatorNode extends IconNode { private String validLable = DEFAULT_VALID_LABEL; private String invalidLabel = DEFAULT_INVALID_LABEL; public ValidatorNode(){ super(BehaviorType.validator, Activator.VALIDATOR, true); } protected String getCategory(String id){ return id == PROP_VALID_LABEL || id == PROP_INVALID_LABEL? CATEGORY_OPTIONAL : null; } public void addOutput(UnitNodeConnection output){ super.addOutput(output); } public IPropertyDescriptor[] getAdditionalPropertyDescriptors(){ IPropertyDescriptor[] descriptors = new IPropertyDescriptor[]{ getDescriptor(PROP_VALID_LABEL), getDescriptor(PROP_INVALID_LABEL), }; return descriptors; } public Object getPropertyValue(Object propName) { if (PROP_VALID_LABEL.equals(propName)) return getValidLabel(); if (PROP_INVALID_LABEL.equals(propName)) return getInvalidLabel(); return super.getPropertyValue(propName); } public void setPropertyValue(Object propName, Object value){ if (PROP_VALID_LABEL.equals(propName)) setValidLabel((String)value); else if (PROP_INVALID_LABEL.equals(propName)) setInvalidLabel((String)value); else super.setPropertyValue(propName, value); } public String getValidLabel() { return validLable; } public void setValidLabel(String validLable) { this.validLable = validLable; firePropertyChange(PROP_NODE); } public String getInvalidLabel() { return invalidLabel; } public void setInvalidLabel(String invalidLabel) { this.invalidLabel = invalidLabel; firePropertyChange(PROP_NODE); } }