private boolean checkAndApplyIsDefeated( DefeasibleLogicalDependency potentialInferior, Rule rule, DefeasibleLogicalDependency potentialSuperior) { if (potentialSuperior.getDefeats() == null) { return false; } if (potentialSuperior.getStatus() == DefeasibilityStatus.DEFINITELY && potentialInferior.getStatus() != DefeasibilityStatus.DEFINITELY) { potentialSuperior.addDefeated(potentialInferior); return true; } // adds the references that defeat the current node if (Arrays.binarySearch(potentialSuperior.getDefeats(), rule.getName()) >= 0 || Arrays.binarySearch( potentialSuperior.getDefeats(), rule.getPackage() + "." + rule.getName()) >= 0) { potentialSuperior.addDefeated(potentialInferior); return true; } return false; }
public void write(MarshallerWriteContext context) throws IOException { context.writeShort(WorkingMemoryAction.WorkingMemoryReteAssertAction); context.writeInt(this.factHandle.getId()); context.writeBoolean(this.removeLogical); context.writeBoolean(this.updateEqualsMap); if (this.ruleOrigin != null) { context.writeBoolean(true); context.writeUTF(ruleOrigin.getPackage()); context.writeUTF(ruleOrigin.getName()); } else { context.writeBoolean(false); } if (this.leftTuple != null) { context.writeBoolean(true); context.writeInt(context.terminalTupleMap.get(this.leftTuple)); } else { context.writeBoolean(false); } }