예제 #1
0
 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;
 }