public Rule getRuleByQualifiedName(final String rname) { if (this.getName().equals(rname)) return this; else if (this.kernelRule.getName().equals(rname) || rname.equals(this.itsName + "." + this.kernelRule.getName())) return this.kernelRule; else { for (int i = 0; i < this.multiRules.size(); i++) { final MultiRule multiRule = (MultiRule) this.multiRules.get(i); if (multiRule.getName().equals(rname) || rname.equals(this.itsName + "." + multiRule.getName())) return multiRule; } } return null; }
/** * Checks the left, right and rule morphism embedding of the kernel rule. * * @return true if embedding holds, otherwise false */ public boolean isAmalgamable() { this.errorMsg = null; for (int i = 0; i < this.multiRules.size(); i++) { final MultiRule multiRule = (MultiRule) this.multiRules.get(i); if (!multiRule.isLeftEmbeddingValid() || !multiRule.isRightEmbeddingValid() || !multiRule.isMorphismEmbeddingValid()) { this.errorMsg = multiRule.getName(); return false; } } return true; }