blob: 6358c32d614ae23974128fcd29a1bdecd5c3e24e [file] [log] [blame]
package org.eclipse.core.tests.runtime.jobs;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
/**
* Form a rule hierarchy for testing
*/
public class RuleHierarchy implements ISchedulingRule {
private static int ruleNumber = 1;
public final int rule = ruleNumber++;
/* (non-Javadoc)
* @see org.eclipse.core.runtime.jobs.ISchedulingRule#contains(org.eclipse.core.runtime.jobs.ISchedulingRule)
*/
public boolean contains(ISchedulingRule rule) {
if((rule instanceof RuleHierarchy) && (((RuleHierarchy)rule).rule >= this.rule)
&& ((((RuleHierarchy)rule).rule%2 == this.rule%2) || (this.rule < 2))) {
return true;
}
return false;
}
/* (non-Javadoc)
* @see org.eclipse.core.runtime.jobs.ISchedulingRule#isConflicting(org.eclipse.core.runtime.jobs.ISchedulingRule)
*/
public boolean isConflicting(ISchedulingRule rule) {
if(contains(rule))
return true;
if(rule.contains(this))
return true;
return false;
}
public String toString() {
return "HierarchyRule (" + rule + ")";
}
}