001: package example.nz.org.take.compiler.userv.generated;
002:
003: import nz.org.take.rt.*;
004:
005: /**
006: * Class generated by the take compiler.
007: * @version Mon Feb 11 13:49:16 NZDT 2008
008: */
009: @SuppressWarnings("unchecked")
010: class KBFragement_isHighRiskDriver {
011: /**
012: * Method generated for query /isHighRiskDriver[in]
013: * @param driver input parameter generated from slot 0
014: * @return an iterator for instances of HighRiskDriver
015: */
016: public static ResultSet<HighRiskDriver> isHighRiskDriver(
017: final example.nz.org.take.compiler.userv.domainmodel.Driver driver) {
018: DerivationController _derivation = new DefaultDerivationController();
019: ResultSet<HighRiskDriver> _result = new ResultSet(
020: KBFragement_isHighRiskDriver.isHighRiskDriver(driver,
021: _derivation), _derivation);
022:
023: return _result;
024: }
025:
026: /**
027: * Method generated for query /isHighRiskDriver[in]
028: * @param driver input parameter generated from slot 0
029: * @return an iterator for instances of HighRiskDriver
030: */
031: static ResourceIterator<HighRiskDriver> isHighRiskDriver(
032: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
033: final DerivationController _derivation) {
034: final int _derivationlevel = _derivation.getDepth();
035: ResourceIterator<HighRiskDriver> result = new IteratorChain<HighRiskDriver>(
036: 3) {
037: public Object getIteratorOrObject(int pos) {
038: switch (pos) {
039: // DE_DRC01 IF hasBeenConvictedOfaDUI(<driver>) THEN /isHighRiskDriver(<driver>)
040: case 0:
041: return isHighRiskDriver_0(driver, _derivation
042: .reset(_derivationlevel));
043:
044: // DE_DRC02 IF greater_than(getNumberOfAccidentsInvolvedIn(<driver>),2) THEN /isHighRiskDriver(<driver>)
045: case 1:
046: return isHighRiskDriver_1(driver, _derivation
047: .reset(_derivationlevel));
048:
049: // DE_DRC03 IF greater_than(getNumberOfMovingViolationsInLastTwoYears(<driver>),3) THEN /isHighRiskDriver(<driver>)
050: case 2:
051: return isHighRiskDriver_2(driver, _derivation
052: .reset(_derivationlevel));
053:
054: default:
055: return EmptyIterator.DEFAULT;
056: } // switch(pos)
057: } // getIterator()
058:
059: public String getRuleRef(int pos) {
060: switch (pos) {
061: // DE_DRC01 IF hasBeenConvictedOfaDUI(<driver>) THEN /isHighRiskDriver(<driver>)
062: case 0:
063: return "DE_DRC01";
064:
065: // DE_DRC02 IF greater_than(getNumberOfAccidentsInvolvedIn(<driver>),2) THEN /isHighRiskDriver(<driver>)
066: case 1:
067: return "DE_DRC02";
068:
069: // DE_DRC03 IF greater_than(getNumberOfMovingViolationsInLastTwoYears(<driver>),3) THEN /isHighRiskDriver(<driver>)
070: case 2:
071: return "DE_DRC03";
072:
073: default:
074: return "";
075: } // switch(pos)
076: } // getRuleRef()
077: };
078:
079: return result;
080: }
081:
082: /**
083: * Method generated for query /isHighRiskDriver[in]
084: * @param driver input parameter generated from slot 0
085: * @return an iterator for instances of HighRiskDriver
086: */
087: private static ResourceIterator<HighRiskDriver> isHighRiskDriver_0(
088: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
089: final DerivationController _derivation) {
090: _derivation.log("DE_DRC01", DerivationController.RULE, driver);
091:
092: // Variable bindings in rule: IF hasBeenConvictedOfaDUI(<driver>) THEN /isHighRiskDriver(<driver>)
093: class bindingsInRule21 {
094: // Property generated for term "<driver>"
095: example.nz.org.take.compiler.userv.domainmodel.Driver p1;
096: }
097: ;
098:
099: final bindingsInRule21 bindings = new bindingsInRule21();
100: bindings.p1 = driver;
101:
102: // code for prereq hasBeenConvictedOfaDUI(<driver>)
103: final ResourceIterator<hasBeenConvictedOfaDUI> iterator1 = KBFragement_hasBeenConvictedOfaDUI_1
104: .hasBeenConvictedOfaDUI_1(driver, _derivation
105: .increaseDepth());
106:
107: // code for prereq /isHighRiskDriver(<driver>)
108: final ResourceIterator<HighRiskDriver> iterator2 = new NestedIterator<hasBeenConvictedOfaDUI, HighRiskDriver>(
109: iterator1) {
110: public ResourceIterator<HighRiskDriver> getNextIterator(
111: hasBeenConvictedOfaDUI object) {
112: bindings.p1 = object.slot1;
113:
114: return new SingletonIterator(new HighRiskDriver(
115: bindings.p1));
116: }
117: };
118:
119: return iterator2;
120: }
121:
122: /**
123: * Method generated for query /isHighRiskDriver[in]
124: * @param driver input parameter generated from slot 0
125: * @return an iterator for instances of HighRiskDriver
126: */
127: private static ResourceIterator<HighRiskDriver> isHighRiskDriver_1(
128: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
129: final DerivationController _derivation) {
130: _derivation.log("DE_DRC02", DerivationController.RULE, driver);
131:
132: // Variable bindings in rule: IF greater_than(getNumberOfAccidentsInvolvedIn(<driver>),2) THEN /isHighRiskDriver(<driver>)
133: class bindingsInRule22 {
134: // Property generated for term "<driver>"
135: example.nz.org.take.compiler.userv.domainmodel.Driver p1;
136:
137: // Property generated for term "getNumberOfAccidentsInvolvedIn(<driver>)"
138: long p2;
139:
140: // Property generated for term "2"
141: long p3;
142: }
143: ;
144:
145: final bindingsInRule22 bindings = new bindingsInRule22();
146: bindings.p1 = driver;
147: bindings.p2 = driver.getNumberOfAccidentsInvolvedIn();
148: bindings.p3 = 2;
149:
150: // code for prereq greater_than(getNumberOfAccidentsInvolvedIn(<driver>),2)
151: final ResourceIterator<greater_than> iterator1 = KBFragement_greater_than_11
152: .greater_than_11(bindings.p2, 2, _derivation
153: .increaseDepth());
154:
155: // code for prereq /isHighRiskDriver(<driver>)
156: final ResourceIterator<HighRiskDriver> iterator2 = new NestedIterator<greater_than, HighRiskDriver>(
157: iterator1) {
158: public ResourceIterator<HighRiskDriver> getNextIterator(
159: greater_than object) {
160: bindings.p2 = (long) object.slot1;
161: bindings.p3 = (long) 2;
162:
163: return new SingletonIterator(new HighRiskDriver(
164: bindings.p1));
165: }
166: };
167:
168: return iterator2;
169: }
170:
171: /**
172: * Method generated for query /isHighRiskDriver[in]
173: * @param driver input parameter generated from slot 0
174: * @return an iterator for instances of HighRiskDriver
175: */
176: private static ResourceIterator<HighRiskDriver> isHighRiskDriver_2(
177: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
178: final DerivationController _derivation) {
179: _derivation.log("DE_DRC03", DerivationController.RULE, driver);
180:
181: // Variable bindings in rule: IF greater_than(getNumberOfMovingViolationsInLastTwoYears(<driver>),3) THEN /isHighRiskDriver(<driver>)
182: class bindingsInRule23 {
183: // Property generated for term "3"
184: long p1;
185:
186: // Property generated for term "<driver>"
187: example.nz.org.take.compiler.userv.domainmodel.Driver p2;
188:
189: // Property generated for term "getNumberOfMovingViolationsInLastTwoYears(<driver>)"
190: long p3;
191: }
192: ;
193:
194: final bindingsInRule23 bindings = new bindingsInRule23();
195: bindings.p1 = 3;
196: bindings.p2 = driver;
197: bindings.p3 = driver
198: .getNumberOfMovingViolationsInLastTwoYears();
199:
200: // code for prereq greater_than(getNumberOfMovingViolationsInLastTwoYears(<driver>),3)
201: final ResourceIterator<greater_than> iterator1 = KBFragement_greater_than_11
202: .greater_than_11(bindings.p3, 3, _derivation
203: .increaseDepth());
204:
205: // code for prereq /isHighRiskDriver(<driver>)
206: final ResourceIterator<HighRiskDriver> iterator2 = new NestedIterator<greater_than, HighRiskDriver>(
207: iterator1) {
208: public ResourceIterator<HighRiskDriver> getNextIterator(
209: greater_than object) {
210: bindings.p3 = (long) object.slot1;
211: bindings.p1 = (long) 3;
212:
213: return new SingletonIterator(new HighRiskDriver(
214: bindings.p2));
215: }
216: };
217:
218: return iterator2;
219: }
220: }
|