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_getDriverCategory {
011: /**
012: * Method generated for query /driverCategory[in,out]
013: * @param driver input parameter generated from slot 0
014: * @return an iterator for instances of DriverCategory
015: */
016: public static ResultSet<DriverCategory> getDriverCategory(
017: final example.nz.org.take.compiler.userv.domainmodel.Driver driver) {
018: DerivationController _derivation = new DefaultDerivationController();
019: ResultSet<DriverCategory> _result = new ResultSet(
020: KBFragement_getDriverCategory.getDriverCategory(driver,
021: _derivation), _derivation);
022:
023: return _result;
024: }
025:
026: /**
027: * Method generated for query /driverCategory[in,out]
028: * @param driver input parameter generated from slot 0
029: * @return an iterator for instances of DriverCategory
030: */
031: static ResourceIterator<DriverCategory> getDriverCategory(
032: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
033: final DerivationController _derivation) {
034: final int _derivationlevel = _derivation.getDepth();
035: ResourceIterator<DriverCategory> result = new IteratorChain<DriverCategory>(
036: 4) {
037: public Object getIteratorOrObject(int pos) {
038: switch (pos) {
039: // DE_DAC01 IF isMale(<driver>) AND less_than(getAge(<driver>),25) THEN /driverCategory(<driver>,young driver)
040: case 0:
041: return getDriverCategory_0(driver, _derivation
042: .reset(_derivationlevel));
043:
044: // DE_DAC02 IF isMale(<driver>) AND less_than(getAge(<driver>),20) THEN /driverCategory(<driver>,young driver)
045: case 1:
046: return getDriverCategory_1(driver, _derivation
047: .reset(_derivationlevel));
048:
049: // DE_DAC04 IF greater_than(getAge(<driver>),70) THEN /driverCategory(<driver>,senior driver)
050: case 2:
051: return getDriverCategory_2(driver, _derivation
052: .reset(_derivationlevel));
053:
054: // DP_07 IF /driverCategory(<driver>,young driver) AND /driverCategory(<driver>,senior driver) THEN /driverCategory(<driver>,typical driver)
055: case 3:
056: return getDriverCategory_3(driver, _derivation
057: .reset(_derivationlevel));
058:
059: default:
060: return EmptyIterator.DEFAULT;
061: } // switch(pos)
062: } // getIterator()
063:
064: public String getRuleRef(int pos) {
065: switch (pos) {
066: // DE_DAC01 IF isMale(<driver>) AND less_than(getAge(<driver>),25) THEN /driverCategory(<driver>,young driver)
067: case 0:
068: return "DE_DAC01";
069:
070: // DE_DAC02 IF isMale(<driver>) AND less_than(getAge(<driver>),20) THEN /driverCategory(<driver>,young driver)
071: case 1:
072: return "DE_DAC02";
073:
074: // DE_DAC04 IF greater_than(getAge(<driver>),70) THEN /driverCategory(<driver>,senior driver)
075: case 2:
076: return "DE_DAC04";
077:
078: // DP_07 IF /driverCategory(<driver>,young driver) AND /driverCategory(<driver>,senior driver) THEN /driverCategory(<driver>,typical driver)
079: case 3:
080: return "DP_07";
081:
082: default:
083: return "";
084: } // switch(pos)
085: } // getRuleRef()
086: };
087:
088: return result;
089: }
090:
091: /**
092: * Method generated for query /driverCategory[in,out]
093: * @param driver input parameter generated from slot 0
094: * @return an iterator for instances of DriverCategory
095: */
096: private static ResourceIterator<DriverCategory> getDriverCategory_0(
097: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
098: final DerivationController _derivation) {
099: _derivation.log("DE_DAC01", DerivationController.RULE, driver,
100: DerivationController.NIL);
101:
102: // Variable bindings in rule: IF isMale(<driver>) AND less_than(getAge(<driver>),25) THEN /driverCategory(<driver>,young driver)
103: class bindingsInRule14 {
104: // Property generated for term "young driver"
105: java.lang.String p1;
106:
107: // Property generated for term "<driver>"
108: example.nz.org.take.compiler.userv.domainmodel.Driver p2;
109:
110: // Property generated for term "25"
111: long p3;
112:
113: // Property generated for term "getAge(<driver>)"
114: long p4;
115: }
116: ;
117:
118: final bindingsInRule14 bindings = new bindingsInRule14();
119: bindings.p1 = "young driver";
120: bindings.p2 = driver;
121: bindings.p3 = 25;
122: bindings.p4 = driver.getAge();
123:
124: // code for prereq isMale(<driver>)
125: final ResourceIterator<isMale> iterator1 = KBFragement_isMale_1
126: .isMale_1(driver, _derivation.increaseDepth());
127:
128: // code for prereq less_than(getAge(<driver>),25)
129: final ResourceIterator<less_than> iterator2 = new NestedIterator<isMale, less_than>(
130: iterator1) {
131: public ResourceIterator<less_than> getNextIterator(
132: isMale object) {
133: bindings.p2 = object.slot1;
134:
135: return KBFragement_less_than_11.less_than_11(
136: bindings.p4, bindings.p3, _derivation
137: .increaseDepth());
138: }
139: };
140:
141: // code for prereq /driverCategory(<driver>,young driver)
142: final ResourceIterator<DriverCategory> iterator3 = new NestedIterator<less_than, DriverCategory>(
143: iterator2) {
144: public ResourceIterator<DriverCategory> getNextIterator(
145: less_than object) {
146: bindings.p4 = (long) object.slot1;
147: bindings.p3 = (long) 25;
148:
149: return new SingletonIterator(new DriverCategory(
150: bindings.p2, bindings.p1));
151: }
152: };
153:
154: return iterator3;
155: }
156:
157: /**
158: * Method generated for query /driverCategory[in,out]
159: * @param driver input parameter generated from slot 0
160: * @return an iterator for instances of DriverCategory
161: */
162: private static ResourceIterator<DriverCategory> getDriverCategory_1(
163: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
164: final DerivationController _derivation) {
165: _derivation.log("DE_DAC02", DerivationController.RULE, driver,
166: DerivationController.NIL);
167:
168: // Variable bindings in rule: IF isMale(<driver>) AND less_than(getAge(<driver>),20) THEN /driverCategory(<driver>,young driver)
169: class bindingsInRule15 {
170: // Property generated for term "young driver"
171: java.lang.String p1;
172:
173: // Property generated for term "20"
174: long p2;
175:
176: // Property generated for term "<driver>"
177: example.nz.org.take.compiler.userv.domainmodel.Driver p3;
178:
179: // Property generated for term "getAge(<driver>)"
180: long p4;
181: }
182: ;
183:
184: final bindingsInRule15 bindings = new bindingsInRule15();
185: bindings.p1 = "young driver";
186: bindings.p3 = driver;
187: bindings.p2 = 20;
188: bindings.p4 = driver.getAge();
189:
190: // code for prereq isMale(<driver>)
191: final ResourceIterator<not_isMale> iterator1 = KBFragement_not_isMale_1
192: .not_isMale_1(driver, _derivation.increaseDepth());
193:
194: // code for prereq less_than(getAge(<driver>),20)
195: final ResourceIterator<less_than> iterator2 = new NestedIterator<not_isMale, less_than>(
196: iterator1) {
197: public ResourceIterator<less_than> getNextIterator(
198: not_isMale object) {
199: bindings.p3 = object.slot1;
200:
201: return KBFragement_less_than_11.less_than_11(
202: bindings.p4, bindings.p2, _derivation
203: .increaseDepth());
204: }
205: };
206:
207: // code for prereq /driverCategory(<driver>,young driver)
208: final ResourceIterator<DriverCategory> iterator3 = new NestedIterator<less_than, DriverCategory>(
209: iterator2) {
210: public ResourceIterator<DriverCategory> getNextIterator(
211: less_than object) {
212: bindings.p4 = (long) object.slot1;
213: bindings.p2 = (long) 20;
214:
215: return new SingletonIterator(new DriverCategory(
216: bindings.p3, bindings.p1));
217: }
218: };
219:
220: return iterator3;
221: }
222:
223: /**
224: * Method generated for query /driverCategory[in,out]
225: * @param driver input parameter generated from slot 0
226: * @return an iterator for instances of DriverCategory
227: */
228: private static ResourceIterator<DriverCategory> getDriverCategory_2(
229: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
230: final DerivationController _derivation) {
231: _derivation.log("DE_DAC04", DerivationController.RULE, driver,
232: DerivationController.NIL);
233:
234: // Variable bindings in rule: IF greater_than(getAge(<driver>),70) THEN /driverCategory(<driver>,senior driver)
235: class bindingsInRule16 {
236: // Property generated for term "<driver>"
237: example.nz.org.take.compiler.userv.domainmodel.Driver p1;
238:
239: // Property generated for term "70"
240: long p2;
241:
242: // Property generated for term "getAge(<driver>)"
243: long p3;
244:
245: // Property generated for term "senior driver"
246: java.lang.String p4;
247: }
248: ;
249:
250: final bindingsInRule16 bindings = new bindingsInRule16();
251: bindings.p1 = driver;
252: bindings.p2 = 70;
253: bindings.p3 = driver.getAge();
254: bindings.p4 = "senior driver";
255:
256: // code for prereq greater_than(getAge(<driver>),70)
257: final ResourceIterator<greater_than> iterator1 = KBFragement_greater_than_11
258: .greater_than_11(bindings.p3, 70, _derivation
259: .increaseDepth());
260:
261: // code for prereq /driverCategory(<driver>,senior driver)
262: final ResourceIterator<DriverCategory> iterator2 = new NestedIterator<greater_than, DriverCategory>(
263: iterator1) {
264: public ResourceIterator<DriverCategory> getNextIterator(
265: greater_than object) {
266: bindings.p3 = (long) object.slot1;
267: bindings.p2 = (long) 70;
268:
269: return new SingletonIterator(new DriverCategory(
270: bindings.p1, bindings.p4));
271: }
272: };
273:
274: return iterator2;
275: }
276:
277: /**
278: * Method generated for query /driverCategory[in,out]
279: * @param driver input parameter generated from slot 0
280: * @return an iterator for instances of DriverCategory
281: */
282: private static ResourceIterator<DriverCategory> getDriverCategory_3(
283: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
284: final DerivationController _derivation) {
285: _derivation.log("DP_07", DerivationController.RULE, driver,
286: DerivationController.NIL);
287:
288: // Variable bindings in rule: IF /driverCategory(<driver>,young driver) AND /driverCategory(<driver>,senior driver) THEN /driverCategory(<driver>,typical driver)
289: class bindingsInRule17 {
290: // Property generated for term "young driver"
291: java.lang.String p1;
292:
293: // Property generated for term "<driver>"
294: example.nz.org.take.compiler.userv.domainmodel.Driver p2;
295:
296: // Property generated for term "typical driver"
297: java.lang.String p3;
298:
299: // Property generated for term "senior driver"
300: java.lang.String p4;
301: }
302: ;
303:
304: final bindingsInRule17 bindings = new bindingsInRule17();
305: bindings.p1 = "young driver";
306: bindings.p2 = driver;
307: bindings.p4 = "senior driver";
308: bindings.p3 = "typical driver";
309:
310: // code for prereq /driverCategory(<driver>,young driver)
311: final ResourceIterator<not_DriverCategory> iterator1 = KBFragement_not_getDriverCategory
312: .not_getDriverCategory(driver, "young driver",
313: _derivation.increaseDepth());
314:
315: // code for prereq /driverCategory(<driver>,senior driver)
316: final ResourceIterator<not_DriverCategory> iterator2 = new NestedIterator<not_DriverCategory, not_DriverCategory>(
317: iterator1) {
318: public ResourceIterator<not_DriverCategory> getNextIterator(
319: not_DriverCategory object) {
320: bindings.p2 = object.driver;
321: bindings.p1 = "young driver";
322:
323: return KBFragement_not_getDriverCategory
324: .not_getDriverCategory(bindings.p2,
325: bindings.p4, _derivation
326: .increaseDepth());
327: }
328: };
329:
330: // code for prereq /driverCategory(<driver>,typical driver)
331: final ResourceIterator<DriverCategory> iterator3 = new NestedIterator<not_DriverCategory, DriverCategory>(
332: iterator2) {
333: public ResourceIterator<DriverCategory> getNextIterator(
334: not_DriverCategory object) {
335: bindings.p2 = object.driver;
336: bindings.p4 = "senior driver";
337:
338: return new SingletonIterator(new DriverCategory(
339: bindings.p2, bindings.p3));
340: }
341: };
342:
343: return iterator3;
344: }
345:
346: /**
347: * Method generated for query /driverCategory[in,in]
348: * @param driver input parameter generated from slot 0
349: * @param category input parameter generated from slot 1
350: * @return an iterator for instances of DriverCategory
351: */
352: public static ResultSet<DriverCategory> getDriverCategory(
353: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
354: final java.lang.String category) {
355: DerivationController _derivation = new DefaultDerivationController();
356: ResultSet<DriverCategory> _result = new ResultSet(
357: KBFragement_getDriverCategory.getDriverCategory(driver,
358: category, _derivation), _derivation);
359:
360: return _result;
361: }
362:
363: /**
364: * Method generated for query /driverCategory[in,in]
365: * @param driver input parameter generated from slot 0
366: * @param category input parameter generated from slot 1
367: * @return an iterator for instances of DriverCategory
368: */
369: static ResourceIterator<DriverCategory> getDriverCategory(
370: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
371: final java.lang.String category,
372: final DerivationController _derivation) {
373: final int _derivationlevel = _derivation.getDepth();
374: ResourceIterator<DriverCategory> result = new IteratorChain<DriverCategory>(
375: 4) {
376: public Object getIteratorOrObject(int pos) {
377: switch (pos) {
378: // DE_DAC01 IF isMale(<driver>) AND less_than(getAge(<driver>),25) THEN /driverCategory(<driver>,young driver)
379: case 0:
380: return getDriverCategory_0(driver, category,
381: _derivation.reset(_derivationlevel));
382:
383: // DE_DAC02 IF isMale(<driver>) AND less_than(getAge(<driver>),20) THEN /driverCategory(<driver>,young driver)
384: case 1:
385: return getDriverCategory_1(driver, category,
386: _derivation.reset(_derivationlevel));
387:
388: // DE_DAC04 IF greater_than(getAge(<driver>),70) THEN /driverCategory(<driver>,senior driver)
389: case 2:
390: return getDriverCategory_2(driver, category,
391: _derivation.reset(_derivationlevel));
392:
393: // DP_07 IF /driverCategory(<driver>,young driver) AND /driverCategory(<driver>,senior driver) THEN /driverCategory(<driver>,typical driver)
394: case 3:
395: return getDriverCategory_3(driver, category,
396: _derivation.reset(_derivationlevel));
397:
398: default:
399: return EmptyIterator.DEFAULT;
400: } // switch(pos)
401: } // getIterator()
402:
403: public String getRuleRef(int pos) {
404: switch (pos) {
405: // DE_DAC01 IF isMale(<driver>) AND less_than(getAge(<driver>),25) THEN /driverCategory(<driver>,young driver)
406: case 0:
407: return "DE_DAC01";
408:
409: // DE_DAC02 IF isMale(<driver>) AND less_than(getAge(<driver>),20) THEN /driverCategory(<driver>,young driver)
410: case 1:
411: return "DE_DAC02";
412:
413: // DE_DAC04 IF greater_than(getAge(<driver>),70) THEN /driverCategory(<driver>,senior driver)
414: case 2:
415: return "DE_DAC04";
416:
417: // DP_07 IF /driverCategory(<driver>,young driver) AND /driverCategory(<driver>,senior driver) THEN /driverCategory(<driver>,typical driver)
418: case 3:
419: return "DP_07";
420:
421: default:
422: return "";
423: } // switch(pos)
424: } // getRuleRef()
425: };
426:
427: return result;
428: }
429:
430: /**
431: * Method generated for query /driverCategory[in,in]
432: * @param driver input parameter generated from slot 0
433: * @param category input parameter generated from slot 1
434: * @return an iterator for instances of DriverCategory
435: */
436: private static ResourceIterator<DriverCategory> getDriverCategory_0(
437: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
438: final java.lang.String category,
439: final DerivationController _derivation) {
440: _derivation.log("DE_DAC01", DerivationController.RULE, driver,
441: category);
442:
443: // comparing constants in rule head with parameters
444: if (!"young driver".equals(category)) {
445: return EmptyIterator.DEFAULT;
446: }
447:
448: // Variable bindings in rule: IF isMale(<driver>) AND less_than(getAge(<driver>),25) THEN /driverCategory(<driver>,young driver)
449: class bindingsInRule14 {
450: // Property generated for term "young driver"
451: java.lang.String p1;
452:
453: // Property generated for term "<driver>"
454: example.nz.org.take.compiler.userv.domainmodel.Driver p2;
455:
456: // Property generated for term "25"
457: long p3;
458:
459: // Property generated for term "getAge(<driver>)"
460: long p4;
461: }
462: ;
463:
464: final bindingsInRule14 bindings = new bindingsInRule14();
465: bindings.p1 = "young driver";
466: bindings.p2 = driver;
467: bindings.p3 = 25;
468: bindings.p4 = driver.getAge();
469:
470: // code for prereq isMale(<driver>)
471: final ResourceIterator<isMale> iterator1 = KBFragement_isMale_1
472: .isMale_1(driver, _derivation.increaseDepth());
473:
474: // code for prereq less_than(getAge(<driver>),25)
475: final ResourceIterator<less_than> iterator2 = new NestedIterator<isMale, less_than>(
476: iterator1) {
477: public ResourceIterator<less_than> getNextIterator(
478: isMale object) {
479: bindings.p2 = object.slot1;
480:
481: return KBFragement_less_than_11.less_than_11(
482: bindings.p4, bindings.p3, _derivation
483: .increaseDepth());
484: }
485: };
486:
487: // code for prereq /driverCategory(<driver>,young driver)
488: final ResourceIterator<DriverCategory> iterator3 = new NestedIterator<less_than, DriverCategory>(
489: iterator2) {
490: public ResourceIterator<DriverCategory> getNextIterator(
491: less_than object) {
492: bindings.p4 = (long) object.slot1;
493: bindings.p3 = (long) 25;
494:
495: return new SingletonIterator(new DriverCategory(
496: bindings.p2, bindings.p1));
497: }
498: };
499:
500: return iterator3;
501: }
502:
503: /**
504: * Method generated for query /driverCategory[in,in]
505: * @param driver input parameter generated from slot 0
506: * @param category input parameter generated from slot 1
507: * @return an iterator for instances of DriverCategory
508: */
509: private static ResourceIterator<DriverCategory> getDriverCategory_1(
510: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
511: final java.lang.String category,
512: final DerivationController _derivation) {
513: _derivation.log("DE_DAC02", DerivationController.RULE, driver,
514: category);
515:
516: // comparing constants in rule head with parameters
517: if (!"young driver".equals(category)) {
518: return EmptyIterator.DEFAULT;
519: }
520:
521: // Variable bindings in rule: IF isMale(<driver>) AND less_than(getAge(<driver>),20) THEN /driverCategory(<driver>,young driver)
522: class bindingsInRule15 {
523: // Property generated for term "young driver"
524: java.lang.String p1;
525:
526: // Property generated for term "20"
527: long p2;
528:
529: // Property generated for term "<driver>"
530: example.nz.org.take.compiler.userv.domainmodel.Driver p3;
531:
532: // Property generated for term "getAge(<driver>)"
533: long p4;
534: }
535: ;
536:
537: final bindingsInRule15 bindings = new bindingsInRule15();
538: bindings.p1 = "young driver";
539: bindings.p3 = driver;
540: bindings.p2 = 20;
541: bindings.p4 = driver.getAge();
542:
543: // code for prereq isMale(<driver>)
544: final ResourceIterator<not_isMale> iterator1 = KBFragement_not_isMale_1
545: .not_isMale_1(driver, _derivation.increaseDepth());
546:
547: // code for prereq less_than(getAge(<driver>),20)
548: final ResourceIterator<less_than> iterator2 = new NestedIterator<not_isMale, less_than>(
549: iterator1) {
550: public ResourceIterator<less_than> getNextIterator(
551: not_isMale object) {
552: bindings.p3 = object.slot1;
553:
554: return KBFragement_less_than_11.less_than_11(
555: bindings.p4, bindings.p2, _derivation
556: .increaseDepth());
557: }
558: };
559:
560: // code for prereq /driverCategory(<driver>,young driver)
561: final ResourceIterator<DriverCategory> iterator3 = new NestedIterator<less_than, DriverCategory>(
562: iterator2) {
563: public ResourceIterator<DriverCategory> getNextIterator(
564: less_than object) {
565: bindings.p4 = (long) object.slot1;
566: bindings.p2 = (long) 20;
567:
568: return new SingletonIterator(new DriverCategory(
569: bindings.p3, bindings.p1));
570: }
571: };
572:
573: return iterator3;
574: }
575:
576: /**
577: * Method generated for query /driverCategory[in,in]
578: * @param driver input parameter generated from slot 0
579: * @param category input parameter generated from slot 1
580: * @return an iterator for instances of DriverCategory
581: */
582: private static ResourceIterator<DriverCategory> getDriverCategory_2(
583: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
584: final java.lang.String category,
585: final DerivationController _derivation) {
586: _derivation.log("DE_DAC04", DerivationController.RULE, driver,
587: category);
588:
589: // comparing constants in rule head with parameters
590: if (!"senior driver".equals(category)) {
591: return EmptyIterator.DEFAULT;
592: }
593:
594: // Variable bindings in rule: IF greater_than(getAge(<driver>),70) THEN /driverCategory(<driver>,senior driver)
595: class bindingsInRule16 {
596: // Property generated for term "<driver>"
597: example.nz.org.take.compiler.userv.domainmodel.Driver p1;
598:
599: // Property generated for term "70"
600: long p2;
601:
602: // Property generated for term "getAge(<driver>)"
603: long p3;
604:
605: // Property generated for term "senior driver"
606: java.lang.String p4;
607: }
608: ;
609:
610: final bindingsInRule16 bindings = new bindingsInRule16();
611: bindings.p1 = driver;
612: bindings.p2 = 70;
613: bindings.p3 = driver.getAge();
614: bindings.p4 = "senior driver";
615:
616: // code for prereq greater_than(getAge(<driver>),70)
617: final ResourceIterator<greater_than> iterator1 = KBFragement_greater_than_11
618: .greater_than_11(bindings.p3, 70, _derivation
619: .increaseDepth());
620:
621: // code for prereq /driverCategory(<driver>,senior driver)
622: final ResourceIterator<DriverCategory> iterator2 = new NestedIterator<greater_than, DriverCategory>(
623: iterator1) {
624: public ResourceIterator<DriverCategory> getNextIterator(
625: greater_than object) {
626: bindings.p3 = (long) object.slot1;
627: bindings.p2 = (long) 70;
628:
629: return new SingletonIterator(new DriverCategory(
630: bindings.p1, bindings.p4));
631: }
632: };
633:
634: return iterator2;
635: }
636:
637: /**
638: * Method generated for query /driverCategory[in,in]
639: * @param driver input parameter generated from slot 0
640: * @param category input parameter generated from slot 1
641: * @return an iterator for instances of DriverCategory
642: */
643: private static ResourceIterator<DriverCategory> getDriverCategory_3(
644: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
645: final java.lang.String category,
646: final DerivationController _derivation) {
647: _derivation.log("DP_07", DerivationController.RULE, driver,
648: category);
649:
650: // comparing constants in rule head with parameters
651: if (!"typical driver".equals(category)) {
652: return EmptyIterator.DEFAULT;
653: }
654:
655: // Variable bindings in rule: IF /driverCategory(<driver>,young driver) AND /driverCategory(<driver>,senior driver) THEN /driverCategory(<driver>,typical driver)
656: class bindingsInRule17 {
657: // Property generated for term "young driver"
658: java.lang.String p1;
659:
660: // Property generated for term "<driver>"
661: example.nz.org.take.compiler.userv.domainmodel.Driver p2;
662:
663: // Property generated for term "typical driver"
664: java.lang.String p3;
665:
666: // Property generated for term "senior driver"
667: java.lang.String p4;
668: }
669: ;
670:
671: final bindingsInRule17 bindings = new bindingsInRule17();
672: bindings.p1 = "young driver";
673: bindings.p2 = driver;
674: bindings.p4 = "senior driver";
675: bindings.p3 = "typical driver";
676:
677: // code for prereq /driverCategory(<driver>,young driver)
678: final ResourceIterator<not_DriverCategory> iterator1 = KBFragement_not_getDriverCategory
679: .not_getDriverCategory(driver, "young driver",
680: _derivation.increaseDepth());
681:
682: // code for prereq /driverCategory(<driver>,senior driver)
683: final ResourceIterator<not_DriverCategory> iterator2 = new NestedIterator<not_DriverCategory, not_DriverCategory>(
684: iterator1) {
685: public ResourceIterator<not_DriverCategory> getNextIterator(
686: not_DriverCategory object) {
687: bindings.p2 = object.driver;
688: bindings.p1 = "young driver";
689:
690: return KBFragement_not_getDriverCategory
691: .not_getDriverCategory(bindings.p2,
692: bindings.p4, _derivation
693: .increaseDepth());
694: }
695: };
696:
697: // code for prereq /driverCategory(<driver>,typical driver)
698: final ResourceIterator<DriverCategory> iterator3 = new NestedIterator<not_DriverCategory, DriverCategory>(
699: iterator2) {
700: public ResourceIterator<DriverCategory> getNextIterator(
701: not_DriverCategory object) {
702: bindings.p2 = object.driver;
703: bindings.p4 = "senior driver";
704:
705: return new SingletonIterator(new DriverCategory(
706: bindings.p2, bindings.p3));
707: }
708: };
709:
710: return iterator3;
711: }
712: }
|