MCPcopy Create free account
hub / github.com/PCGen/pcgen / specialCase

Method specialCase

code/src/java/plugin/pretokens/writer/PreHDWriter.java:83–121  ·  view source on GitHub ↗
(Writer writer, Prerequisite prereq)

Source from the content-addressed store, hash-verified

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}

Callers 1

writeMethod · 0.45

Calls 11

getKindMethod · 0.95
getOperatorMethod · 0.95
getOperandMethod · 0.95
equalsIgnoreCaseMethod · 0.80
isOverrideQualifyMethod · 0.80
sizeMethod · 0.65
getMethod · 0.65
equalsMethod · 0.65
getOperatorMethod · 0.65
writeMethod · 0.65
getPrerequisitesMethod · 0.45

Tested by

no test coverage detected