/**
*
*/
package agg.xt_basis.agt;
import agg.xt_basis.Graph;
import agg.xt_basis.GraphKind;
import agg.xt_basis.Rule;
import agg.xt_basis.TypeSet;
/**
* Kernel rule is the subrule of an interaction rule scheme and models a common
* subaction of two or more actions (extending rules) and used to
* synchronize application of multi rules in parallel.
*
* @author olga
*
*/
public class KernelRule extends Rule {
private RuleScheme itsRuleScheme;
/**
*
*/
public KernelRule() {
super();
this.itsName = "KernelRule";
}
/**
* @param types
*/
public KernelRule(final TypeSet types) {
super(types);
this.itsName = "KernelRule";
this.itsOrig.setKind(GraphKind.LHS);
this.itsImag.setKind(GraphKind.RHS);
}
/**
* @param left
* @param right
*/
public KernelRule(final Graph left, final Graph right) {
super(left, right);
this.itsName = "KernelRule";
this.itsOrig.setKind(GraphKind.LHS);
this.itsImag.setKind(GraphKind.RHS);
}
/**
* Returns its full name : schemeName.ruleName
*/
public String getQualifiedName() {
if (this.itsRuleScheme != null)
return this.itsRuleScheme.getName().concat(".").concat(this.itsName);
return this.itsName;
}
public void setRuleScheme(final RuleScheme rs) {
this.itsRuleScheme = rs;
}
public RuleScheme getRuleScheme() {
return this.itsRuleScheme;
}
public void setChanged(boolean b) {
this.changed = b;
}
/*
public final void update(Observable o, Object arg) {
}
*/
}