/* * VRuleSetImpl.java * * Created on July 14, 2003, 11:28 AM */ package org.jboss.tools.common.verification.vrules.impl; import org.jboss.tools.common.model.plugin.ModelPlugin; import org.jboss.tools.common.verification.vrules.*; import org.jboss.tools.common.verification.vrules.plugin.VerificationPlugin; import java.beans.*; import java.util.*; /** * * @author valera */ public class VRuleSetImpl implements VRuleSet { protected String description; protected String name; VRuleSet parentRuleSet; protected VRule[] rules; protected VRuleSet[] ruleSets; protected String url; protected String vendor; protected String version; protected boolean enabled; protected boolean defaultEnabled = true; protected ResourceBundle bundle; protected PropertyChangeSupport propertyChangeSupport; protected Object managerKey; /** Creates a new instance of VRuleSetImpl */ public VRuleSetImpl() { propertyChangeSupport = new PropertyChangeSupport(this); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getVendor() { return vendor; } public void setVendor(String vendor) { this.vendor = vendor; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String getURL() { return url; } public void setURL(String url) { this.url = url; } public boolean isEnabled() { if(parentRuleSet != null && !parentRuleSet.isEnabled()) return false; return enabled; } public void setEnabled(boolean enabled) { boolean oldEnabled = this.enabled; this.enabled = enabled; propertyChangeSupport.firePropertyChange("enabled", oldEnabled, enabled); //$NON-NLS-1$ } public void setDefaultEnabled(boolean b) { defaultEnabled = b; } public boolean isDefaultEnabled() { return defaultEnabled; } public VRuleSet getParentRuleSet() { return parentRuleSet; } public void setParentRuleSet(VRuleSet parentRuleSet) { this.parentRuleSet = parentRuleSet; } public VRule[] getRules() { return rules; } public void setRules(VRule[] rules) { this.rules = rules; } public VRuleSet[] getRuleSets() { return ruleSets; } public void setRuleSets(VRuleSet[] ruleSets) { this.ruleSets = ruleSets; } public VMessageFormat getMessageFormat(String id) { if (bundle == null) return null; String pattern = null; try { pattern = bundle.getString("message."+id); //$NON-NLS-1$ } catch (MissingResourceException e) { VerificationPlugin.getPluginLog().logError("Cannot find message-id " + id); //$NON-NLS-1$ pattern = ""; //$NON-NLS-1$ } if (pattern == null) return null; VMessageFormat format = new VMessageFormat(pattern); format.setParent(VHelper.getManager().getMessageFormat()); return format; } public ResourceBundle getResourceBundle() { return bundle; } public void setResourceBundle(ResourceBundle bundle) { this.bundle = bundle; } public void addPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(listener); } public void removePropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.removePropertyChangeListener(listener); } public void setManagerKey(Object key) { managerKey = key; } }