(Writer writer, Prerequisite prereq)
| 81 | } |
| 82 | |
| 83 | @Override |
| 84 | public boolean specialCase(Writer writer, Prerequisite prereq) throws IOException |
| 85 | { |
| 86 | // |
| 87 | // If this is a PREMULT... |
| 88 | // |
| 89 | if (prereq.getKind() == null) |
| 90 | { |
| 91 | // |
| 92 | // ...with exactly 2 entries... |
| 93 | // |
| 94 | List<Prerequisite> prereqList = prereq.getPrerequisites(); |
| 95 | if (prereqList.size() == 2) |
| 96 | { |
| 97 | // |
| 98 | // ...both of which are PREHD. The first must specify >= and the second <= |
| 99 | // |
| 100 | final Prerequisite elementGTEQ = prereqList.get(0); |
| 101 | final Prerequisite elementLTEQ = prereqList.get(1); |
| 102 | if ("hd".equalsIgnoreCase(elementGTEQ.getKind()) |
| 103 | && elementGTEQ.getOperator().equals(PrerequisiteOperator.GTEQ) |
| 104 | && "hd".equalsIgnoreCase(elementLTEQ.getKind()) |
| 105 | && elementLTEQ.getOperator().equals(PrerequisiteOperator.LTEQ)) |
| 106 | { |
| 107 | if (prereq.getOperator().equals(PrerequisiteOperator.LT)) |
| 108 | { |
| 109 | writer.write('!'); |
| 110 | } |
| 111 | writer.write("PREHD:" + (prereq.isOverrideQualify() ? "Q:" : "")); |
| 112 | writer.write("MIN="); |
| 113 | writer.write(elementGTEQ.getOperand()); |
| 114 | writer.write(",MAX="); |
| 115 | writer.write(elementLTEQ.getOperand()); |
| 116 | return true; |
| 117 | } |
| 118 | } |
| 119 | } |
| 120 | return false; |
| 121 | } |
| 122 | |
| 123 | } |
no test coverage detected