package hudson.plugins.cigame.model;
import java.util.ArrayList;
import java.util.Collection;
/**
* Class containing one or more rules
*
* @author Erik Ramfelt
*/
public class RuleSet {
private Collection<Rule> rules;
private String name;
public RuleSet(String name, Collection<Rule> rules) {
this.name = name;
this.rules = rules;
}
public RuleSet(String name) {
this.name = name;
this.rules = new ArrayList<Rule>();
}
/**
* Returns if the rule set is available or not. If a rule set is not
* available then it will not be used for determining the score for a build
* Default implementation returns true.
*
* @return true
*/
public boolean isAvailable() {
return true;
}
/**
* Returns the name of the rule set.
*
* @return the name of the rule set.
*/
public String getName() {
return name;
}
/**
* Returns the rules for this rule set.
*
* @return the rules for this rule set.
*/
public Collection<Rule> getRules() {
return rules;
}
/**
* Add rule to the rule set
*
* @param rule rule to add to the set.
*/
public void add(Rule rule) {
rules.add(rule);
}
/**
* Remove rule from the rule set.
*
* @param rule the rule to remove.
*/
public void removeRule(Rule rule) {
rules.remove(rule);
}
}