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_getPotenialTheftRating {
011: /**
012: * Method generated for query /potentialTheftRating[in,out]
013: * @param car input parameter generated from slot 0
014: * @return an iterator for instances of PotentialTheftRating
015: */
016: public static ResultSet<PotentialTheftRating> getPotenialTheftRating(
017: final example.nz.org.take.compiler.userv.domainmodel.Car car) {
018: DerivationController _derivation = new DefaultDerivationController();
019: ResultSet<PotentialTheftRating> _result = new ResultSet(
020: KBFragement_getPotenialTheftRating
021: .getPotenialTheftRating(car, _derivation),
022: _derivation);
023:
024: return _result;
025: }
026:
027: /**
028: * Method generated for query /potentialTheftRating[in,out]
029: * @param car input parameter generated from slot 0
030: * @return an iterator for instances of PotentialTheftRating
031: */
032: static ResourceIterator<PotentialTheftRating> getPotenialTheftRating(
033: final example.nz.org.take.compiler.userv.domainmodel.Car car,
034: final DerivationController _derivation) {
035: final int _derivationlevel = _derivation.getDepth();
036: ResourceIterator<PotentialTheftRating> result = new IteratorChain<PotentialTheftRating>(
037: 5) {
038: public Object getIteratorOrObject(int pos) {
039: switch (pos) {
040: // AE_PTC01 IF isConvertible(<car>) THEN /potentialTheftRating(<car>,high)
041: case 0:
042: return getPotenialTheftRating_0(car, _derivation
043: .reset(_derivationlevel));
044:
045: // AE_PTC02 IF greater_than(getPrice(<car>),45000) THEN /potentialTheftRating(<car>,high)
046: case 1:
047: return getPotenialTheftRating_1(car, _derivation
048: .reset(_derivationlevel));
049:
050: // AE_PTC03 IF contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,high)
051: case 2:
052: return getPotenialTheftRating_2(car, _derivation
053: .reset(_derivationlevel));
054:
055: // AE_PTC04 IF greater_than(getPrice(<car>),20000) AND less_than(getPrice(<car>),45000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,moderate)
056: case 3:
057: return getPotenialTheftRating_3(car, _derivation
058: .reset(_derivationlevel));
059:
060: // AE_PTC05 IF less_than(getPrice(<car>),20000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,low)
061: case 4:
062: return getPotenialTheftRating_4(car, _derivation
063: .reset(_derivationlevel));
064:
065: default:
066: return EmptyIterator.DEFAULT;
067: } // switch(pos)
068: } // getIterator()
069:
070: public String getRuleRef(int pos) {
071: switch (pos) {
072: // AE_PTC01 IF isConvertible(<car>) THEN /potentialTheftRating(<car>,high)
073: case 0:
074: return "AE_PTC01";
075:
076: // AE_PTC02 IF greater_than(getPrice(<car>),45000) THEN /potentialTheftRating(<car>,high)
077: case 1:
078: return "AE_PTC02";
079:
080: // AE_PTC03 IF contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,high)
081: case 2:
082: return "AE_PTC03";
083:
084: // AE_PTC04 IF greater_than(getPrice(<car>),20000) AND less_than(getPrice(<car>),45000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,moderate)
085: case 3:
086: return "AE_PTC04";
087:
088: // AE_PTC05 IF less_than(getPrice(<car>),20000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,low)
089: case 4:
090: return "AE_PTC05";
091:
092: default:
093: return "";
094: } // switch(pos)
095: } // getRuleRef()
096: };
097:
098: return result;
099: }
100:
101: /**
102: * Method generated for query /potentialTheftRating[in,out]
103: * @param car input parameter generated from slot 0
104: * @return an iterator for instances of PotentialTheftRating
105: */
106: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_0(
107: final example.nz.org.take.compiler.userv.domainmodel.Car car,
108: final DerivationController _derivation) {
109: _derivation.log("AE_PTC01", DerivationController.RULE, car,
110: DerivationController.NIL);
111:
112: // Variable bindings in rule: IF isConvertible(<car>) THEN /potentialTheftRating(<car>,high)
113: class bindingsInRule1 {
114: // Property generated for term "high"
115: java.lang.String p1;
116:
117: // Property generated for term "<car>"
118: example.nz.org.take.compiler.userv.domainmodel.Car p2;
119: }
120: ;
121:
122: final bindingsInRule1 bindings = new bindingsInRule1();
123: bindings.p1 = "high";
124: bindings.p2 = car;
125:
126: // code for prereq isConvertible(<car>)
127: final ResourceIterator<isConvertible> iterator1 = KBFragement_isConvertible_1
128: .isConvertible_1(car, _derivation.increaseDepth());
129:
130: // code for prereq /potentialTheftRating(<car>,high)
131: final ResourceIterator<PotentialTheftRating> iterator2 = new NestedIterator<isConvertible, PotentialTheftRating>(
132: iterator1) {
133: public ResourceIterator<PotentialTheftRating> getNextIterator(
134: isConvertible object) {
135: bindings.p2 = object.slot1;
136:
137: return new SingletonIterator(new PotentialTheftRating(
138: bindings.p2, bindings.p1));
139: }
140: };
141:
142: return iterator2;
143: }
144:
145: /**
146: * Method generated for query /potentialTheftRating[in,out]
147: * @param car input parameter generated from slot 0
148: * @return an iterator for instances of PotentialTheftRating
149: */
150: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_1(
151: final example.nz.org.take.compiler.userv.domainmodel.Car car,
152: final DerivationController _derivation) {
153: _derivation.log("AE_PTC02", DerivationController.RULE, car,
154: DerivationController.NIL);
155:
156: // Variable bindings in rule: IF greater_than(getPrice(<car>),45000) THEN /potentialTheftRating(<car>,high)
157: class bindingsInRule2 {
158: // Property generated for term "high"
159: java.lang.String p1;
160:
161: // Property generated for term "<car>"
162: example.nz.org.take.compiler.userv.domainmodel.Car p2;
163:
164: // Property generated for term "45000"
165: long p3;
166:
167: // Property generated for term "getPrice(<car>)"
168: long p4;
169: }
170: ;
171:
172: final bindingsInRule2 bindings = new bindingsInRule2();
173: bindings.p1 = "high";
174: bindings.p2 = car;
175: bindings.p3 = 45000;
176: bindings.p4 = car.getPrice();
177:
178: // code for prereq greater_than(getPrice(<car>),45000)
179: final ResourceIterator<greater_than> iterator1 = KBFragement_greater_than_11
180: .greater_than_11(bindings.p4, 45000, _derivation
181: .increaseDepth());
182:
183: // code for prereq /potentialTheftRating(<car>,high)
184: final ResourceIterator<PotentialTheftRating> iterator2 = new NestedIterator<greater_than, PotentialTheftRating>(
185: iterator1) {
186: public ResourceIterator<PotentialTheftRating> getNextIterator(
187: greater_than object) {
188: bindings.p4 = (long) object.slot1;
189: bindings.p3 = (long) 45000;
190:
191: return new SingletonIterator(new PotentialTheftRating(
192: bindings.p2, bindings.p1));
193: }
194: };
195:
196: return iterator2;
197: }
198:
199: /**
200: * Method generated for query /potentialTheftRating[in,out]
201: * @param car input parameter generated from slot 0
202: * @return an iterator for instances of PotentialTheftRating
203: */
204: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_2(
205: final example.nz.org.take.compiler.userv.domainmodel.Car car,
206: final DerivationController _derivation) {
207: _derivation.log("AE_PTC03", DerivationController.RULE, car,
208: DerivationController.NIL);
209:
210: // Variable bindings in rule: IF contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,high)
211: class bindingsInRule3 {
212: // Property generated for term "getType(<car>)"
213: java.lang.String p1;
214:
215: // Property generated for term "[HighTheftProbabilityAutoList]"
216: java.util.Collection p2;
217:
218: // Property generated for term "high"
219: java.lang.String p3;
220:
221: // Property generated for term "<car>"
222: example.nz.org.take.compiler.userv.domainmodel.Car p4;
223: }
224: ;
225:
226: final bindingsInRule3 bindings = new bindingsInRule3();
227: bindings.p2 = Constants.HighTheftProbabilityAutoList;
228: bindings.p1 = car.getType();
229: bindings.p3 = "high";
230: bindings.p4 = car;
231:
232: // code for prereq contains([HighTheftProbabilityAutoList],getType(<car>))
233: final ResourceIterator<contains> iterator1 = KBFragement_contains_11
234: .contains_11(Constants.HighTheftProbabilityAutoList,
235: bindings.p1, _derivation.increaseDepth());
236:
237: // code for prereq /potentialTheftRating(<car>,high)
238: final ResourceIterator<PotentialTheftRating> iterator2 = new NestedIterator<contains, PotentialTheftRating>(
239: iterator1) {
240: public ResourceIterator<PotentialTheftRating> getNextIterator(
241: contains object) {
242: bindings.p2 = Constants.HighTheftProbabilityAutoList;
243: bindings.p1 = (java.lang.String) object.slot2;
244:
245: return new SingletonIterator(new PotentialTheftRating(
246: bindings.p4, bindings.p3));
247: }
248: };
249:
250: return iterator2;
251: }
252:
253: /**
254: * Method generated for query /potentialTheftRating[in,out]
255: * @param car input parameter generated from slot 0
256: * @return an iterator for instances of PotentialTheftRating
257: */
258: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_3(
259: final example.nz.org.take.compiler.userv.domainmodel.Car car,
260: final DerivationController _derivation) {
261: _derivation.log("AE_PTC04", DerivationController.RULE, car,
262: DerivationController.NIL);
263:
264: // Variable bindings in rule: IF greater_than(getPrice(<car>),20000) AND less_than(getPrice(<car>),45000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,moderate)
265: class bindingsInRule4 {
266: // Property generated for term "moderate"
267: java.lang.String p1;
268:
269: // Property generated for term "getType(<car>)"
270: java.lang.String p2;
271:
272: // Property generated for term "[HighTheftProbabilityAutoList]"
273: java.util.Collection p3;
274:
275: // Property generated for term "20000"
276: long p4;
277:
278: // Property generated for term "<car>"
279: example.nz.org.take.compiler.userv.domainmodel.Car p5;
280:
281: // Property generated for term "45000"
282: long p6;
283:
284: // Property generated for term "getPrice(<car>)"
285: long p7;
286: }
287: ;
288:
289: final bindingsInRule4 bindings = new bindingsInRule4();
290: bindings.p1 = "moderate";
291: bindings.p3 = Constants.HighTheftProbabilityAutoList;
292: bindings.p2 = car.getType();
293: bindings.p4 = 20000;
294: bindings.p5 = car;
295: bindings.p6 = 45000;
296: bindings.p7 = car.getPrice();
297:
298: // code for prereq greater_than(getPrice(<car>),20000)
299: final ResourceIterator<greater_than> iterator1 = KBFragement_greater_than_11
300: .greater_than_11(bindings.p7, 20000, _derivation
301: .increaseDepth());
302:
303: // code for prereq less_than(getPrice(<car>),45000)
304: final ResourceIterator<less_than> iterator2 = new NestedIterator<greater_than, less_than>(
305: iterator1) {
306: public ResourceIterator<less_than> getNextIterator(
307: greater_than object) {
308: bindings.p7 = (long) object.slot1;
309: bindings.p4 = (long) 20000;
310:
311: return KBFragement_less_than_11.less_than_11(
312: bindings.p7, bindings.p6, _derivation
313: .increaseDepth());
314: }
315: };
316:
317: // code for prereq contains([HighTheftProbabilityAutoList],getType(<car>))
318: final ResourceIterator<not_contains> iterator3 = new NestedIterator<less_than, not_contains>(
319: iterator2) {
320: public ResourceIterator<not_contains> getNextIterator(
321: less_than object) {
322: bindings.p7 = (long) object.slot1;
323: bindings.p6 = (long) 45000;
324:
325: return KBFragement_not_contains_11.not_contains_11(
326: bindings.p3, bindings.p2, _derivation
327: .increaseDepth());
328: }
329: };
330:
331: // code for prereq /potentialTheftRating(<car>,moderate)
332: final ResourceIterator<PotentialTheftRating> iterator4 = new NestedIterator<not_contains, PotentialTheftRating>(
333: iterator3) {
334: public ResourceIterator<PotentialTheftRating> getNextIterator(
335: not_contains object) {
336: bindings.p3 = Constants.HighTheftProbabilityAutoList;
337: bindings.p2 = (java.lang.String) object.slot2;
338:
339: return new SingletonIterator(new PotentialTheftRating(
340: bindings.p5, bindings.p1));
341: }
342: };
343:
344: return iterator4;
345: }
346:
347: /**
348: * Method generated for query /potentialTheftRating[in,out]
349: * @param car input parameter generated from slot 0
350: * @return an iterator for instances of PotentialTheftRating
351: */
352: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_4(
353: final example.nz.org.take.compiler.userv.domainmodel.Car car,
354: final DerivationController _derivation) {
355: _derivation.log("AE_PTC05", DerivationController.RULE, car,
356: DerivationController.NIL);
357:
358: // Variable bindings in rule: IF less_than(getPrice(<car>),20000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,low)
359: class bindingsInRule5 {
360: // Property generated for term "getType(<car>)"
361: java.lang.String p1;
362:
363: // Property generated for term "[HighTheftProbabilityAutoList]"
364: java.util.Collection p2;
365:
366: // Property generated for term "low"
367: java.lang.String p3;
368:
369: // Property generated for term "20000"
370: long p4;
371:
372: // Property generated for term "<car>"
373: example.nz.org.take.compiler.userv.domainmodel.Car p5;
374:
375: // Property generated for term "getPrice(<car>)"
376: long p6;
377: }
378: ;
379:
380: final bindingsInRule5 bindings = new bindingsInRule5();
381: bindings.p2 = Constants.HighTheftProbabilityAutoList;
382: bindings.p1 = car.getType();
383: bindings.p3 = "low";
384: bindings.p4 = 20000;
385: bindings.p5 = car;
386: bindings.p6 = car.getPrice();
387:
388: // code for prereq less_than(getPrice(<car>),20000)
389: final ResourceIterator<less_than> iterator1 = KBFragement_less_than_11
390: .less_than_11(bindings.p6, 20000, _derivation
391: .increaseDepth());
392:
393: // code for prereq contains([HighTheftProbabilityAutoList],getType(<car>))
394: final ResourceIterator<not_contains> iterator2 = new NestedIterator<less_than, not_contains>(
395: iterator1) {
396: public ResourceIterator<not_contains> getNextIterator(
397: less_than object) {
398: bindings.p6 = (long) object.slot1;
399: bindings.p4 = (long) 20000;
400:
401: return KBFragement_not_contains_11.not_contains_11(
402: bindings.p2, bindings.p1, _derivation
403: .increaseDepth());
404: }
405: };
406:
407: // code for prereq /potentialTheftRating(<car>,low)
408: final ResourceIterator<PotentialTheftRating> iterator3 = new NestedIterator<not_contains, PotentialTheftRating>(
409: iterator2) {
410: public ResourceIterator<PotentialTheftRating> getNextIterator(
411: not_contains object) {
412: bindings.p2 = Constants.HighTheftProbabilityAutoList;
413: bindings.p1 = (java.lang.String) object.slot2;
414:
415: return new SingletonIterator(new PotentialTheftRating(
416: bindings.p5, bindings.p3));
417: }
418: };
419:
420: return iterator3;
421: }
422:
423: /**
424: * Method generated for query /potentialTheftRating[in,in]
425: * @param car input parameter generated from slot 0
426: * @param rating input parameter generated from slot 1
427: * @return an iterator for instances of PotentialTheftRating
428: */
429: public static ResultSet<PotentialTheftRating> getPotenialTheftRating(
430: final example.nz.org.take.compiler.userv.domainmodel.Car car,
431: final java.lang.String rating) {
432: DerivationController _derivation = new DefaultDerivationController();
433: ResultSet<PotentialTheftRating> _result = new ResultSet(
434: KBFragement_getPotenialTheftRating
435: .getPotenialTheftRating(car, rating,
436: _derivation), _derivation);
437:
438: return _result;
439: }
440:
441: /**
442: * Method generated for query /potentialTheftRating[in,in]
443: * @param car input parameter generated from slot 0
444: * @param rating input parameter generated from slot 1
445: * @return an iterator for instances of PotentialTheftRating
446: */
447: static ResourceIterator<PotentialTheftRating> getPotenialTheftRating(
448: final example.nz.org.take.compiler.userv.domainmodel.Car car,
449: final java.lang.String rating,
450: final DerivationController _derivation) {
451: final int _derivationlevel = _derivation.getDepth();
452: ResourceIterator<PotentialTheftRating> result = new IteratorChain<PotentialTheftRating>(
453: 5) {
454: public Object getIteratorOrObject(int pos) {
455: switch (pos) {
456: // AE_PTC01 IF isConvertible(<car>) THEN /potentialTheftRating(<car>,high)
457: case 0:
458: return getPotenialTheftRating_0(car, rating,
459: _derivation.reset(_derivationlevel));
460:
461: // AE_PTC02 IF greater_than(getPrice(<car>),45000) THEN /potentialTheftRating(<car>,high)
462: case 1:
463: return getPotenialTheftRating_1(car, rating,
464: _derivation.reset(_derivationlevel));
465:
466: // AE_PTC03 IF contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,high)
467: case 2:
468: return getPotenialTheftRating_2(car, rating,
469: _derivation.reset(_derivationlevel));
470:
471: // AE_PTC04 IF greater_than(getPrice(<car>),20000) AND less_than(getPrice(<car>),45000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,moderate)
472: case 3:
473: return getPotenialTheftRating_3(car, rating,
474: _derivation.reset(_derivationlevel));
475:
476: // AE_PTC05 IF less_than(getPrice(<car>),20000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,low)
477: case 4:
478: return getPotenialTheftRating_4(car, rating,
479: _derivation.reset(_derivationlevel));
480:
481: default:
482: return EmptyIterator.DEFAULT;
483: } // switch(pos)
484: } // getIterator()
485:
486: public String getRuleRef(int pos) {
487: switch (pos) {
488: // AE_PTC01 IF isConvertible(<car>) THEN /potentialTheftRating(<car>,high)
489: case 0:
490: return "AE_PTC01";
491:
492: // AE_PTC02 IF greater_than(getPrice(<car>),45000) THEN /potentialTheftRating(<car>,high)
493: case 1:
494: return "AE_PTC02";
495:
496: // AE_PTC03 IF contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,high)
497: case 2:
498: return "AE_PTC03";
499:
500: // AE_PTC04 IF greater_than(getPrice(<car>),20000) AND less_than(getPrice(<car>),45000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,moderate)
501: case 3:
502: return "AE_PTC04";
503:
504: // AE_PTC05 IF less_than(getPrice(<car>),20000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,low)
505: case 4:
506: return "AE_PTC05";
507:
508: default:
509: return "";
510: } // switch(pos)
511: } // getRuleRef()
512: };
513:
514: return result;
515: }
516:
517: /**
518: * Method generated for query /potentialTheftRating[in,in]
519: * @param car input parameter generated from slot 0
520: * @param rating input parameter generated from slot 1
521: * @return an iterator for instances of PotentialTheftRating
522: */
523: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_0(
524: final example.nz.org.take.compiler.userv.domainmodel.Car car,
525: final java.lang.String rating,
526: final DerivationController _derivation) {
527: _derivation.log("AE_PTC01", DerivationController.RULE, car,
528: rating);
529:
530: // comparing constants in rule head with parameters
531: if (!"high".equals(rating)) {
532: return EmptyIterator.DEFAULT;
533: }
534:
535: // Variable bindings in rule: IF isConvertible(<car>) THEN /potentialTheftRating(<car>,high)
536: class bindingsInRule1 {
537: // Property generated for term "high"
538: java.lang.String p1;
539:
540: // Property generated for term "<car>"
541: example.nz.org.take.compiler.userv.domainmodel.Car p2;
542: }
543: ;
544:
545: final bindingsInRule1 bindings = new bindingsInRule1();
546: bindings.p1 = "high";
547: bindings.p2 = car;
548:
549: // code for prereq isConvertible(<car>)
550: final ResourceIterator<isConvertible> iterator1 = KBFragement_isConvertible_1
551: .isConvertible_1(car, _derivation.increaseDepth());
552:
553: // code for prereq /potentialTheftRating(<car>,high)
554: final ResourceIterator<PotentialTheftRating> iterator2 = new NestedIterator<isConvertible, PotentialTheftRating>(
555: iterator1) {
556: public ResourceIterator<PotentialTheftRating> getNextIterator(
557: isConvertible object) {
558: bindings.p2 = object.slot1;
559:
560: return new SingletonIterator(new PotentialTheftRating(
561: bindings.p2, bindings.p1));
562: }
563: };
564:
565: return iterator2;
566: }
567:
568: /**
569: * Method generated for query /potentialTheftRating[in,in]
570: * @param car input parameter generated from slot 0
571: * @param rating input parameter generated from slot 1
572: * @return an iterator for instances of PotentialTheftRating
573: */
574: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_1(
575: final example.nz.org.take.compiler.userv.domainmodel.Car car,
576: final java.lang.String rating,
577: final DerivationController _derivation) {
578: _derivation.log("AE_PTC02", DerivationController.RULE, car,
579: rating);
580:
581: // comparing constants in rule head with parameters
582: if (!"high".equals(rating)) {
583: return EmptyIterator.DEFAULT;
584: }
585:
586: // Variable bindings in rule: IF greater_than(getPrice(<car>),45000) THEN /potentialTheftRating(<car>,high)
587: class bindingsInRule2 {
588: // Property generated for term "high"
589: java.lang.String p1;
590:
591: // Property generated for term "<car>"
592: example.nz.org.take.compiler.userv.domainmodel.Car p2;
593:
594: // Property generated for term "45000"
595: long p3;
596:
597: // Property generated for term "getPrice(<car>)"
598: long p4;
599: }
600: ;
601:
602: final bindingsInRule2 bindings = new bindingsInRule2();
603: bindings.p1 = "high";
604: bindings.p2 = car;
605: bindings.p3 = 45000;
606: bindings.p4 = car.getPrice();
607:
608: // code for prereq greater_than(getPrice(<car>),45000)
609: final ResourceIterator<greater_than> iterator1 = KBFragement_greater_than_11
610: .greater_than_11(bindings.p4, 45000, _derivation
611: .increaseDepth());
612:
613: // code for prereq /potentialTheftRating(<car>,high)
614: final ResourceIterator<PotentialTheftRating> iterator2 = new NestedIterator<greater_than, PotentialTheftRating>(
615: iterator1) {
616: public ResourceIterator<PotentialTheftRating> getNextIterator(
617: greater_than object) {
618: bindings.p4 = (long) object.slot1;
619: bindings.p3 = (long) 45000;
620:
621: return new SingletonIterator(new PotentialTheftRating(
622: bindings.p2, bindings.p1));
623: }
624: };
625:
626: return iterator2;
627: }
628:
629: /**
630: * Method generated for query /potentialTheftRating[in,in]
631: * @param car input parameter generated from slot 0
632: * @param rating input parameter generated from slot 1
633: * @return an iterator for instances of PotentialTheftRating
634: */
635: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_2(
636: final example.nz.org.take.compiler.userv.domainmodel.Car car,
637: final java.lang.String rating,
638: final DerivationController _derivation) {
639: _derivation.log("AE_PTC03", DerivationController.RULE, car,
640: rating);
641:
642: // comparing constants in rule head with parameters
643: if (!"high".equals(rating)) {
644: return EmptyIterator.DEFAULT;
645: }
646:
647: // Variable bindings in rule: IF contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,high)
648: class bindingsInRule3 {
649: // Property generated for term "getType(<car>)"
650: java.lang.String p1;
651:
652: // Property generated for term "[HighTheftProbabilityAutoList]"
653: java.util.Collection p2;
654:
655: // Property generated for term "high"
656: java.lang.String p3;
657:
658: // Property generated for term "<car>"
659: example.nz.org.take.compiler.userv.domainmodel.Car p4;
660: }
661: ;
662:
663: final bindingsInRule3 bindings = new bindingsInRule3();
664: bindings.p2 = Constants.HighTheftProbabilityAutoList;
665: bindings.p1 = car.getType();
666: bindings.p3 = "high";
667: bindings.p4 = car;
668:
669: // code for prereq contains([HighTheftProbabilityAutoList],getType(<car>))
670: final ResourceIterator<contains> iterator1 = KBFragement_contains_11
671: .contains_11(Constants.HighTheftProbabilityAutoList,
672: bindings.p1, _derivation.increaseDepth());
673:
674: // code for prereq /potentialTheftRating(<car>,high)
675: final ResourceIterator<PotentialTheftRating> iterator2 = new NestedIterator<contains, PotentialTheftRating>(
676: iterator1) {
677: public ResourceIterator<PotentialTheftRating> getNextIterator(
678: contains object) {
679: bindings.p2 = Constants.HighTheftProbabilityAutoList;
680: bindings.p1 = (java.lang.String) object.slot2;
681:
682: return new SingletonIterator(new PotentialTheftRating(
683: bindings.p4, bindings.p3));
684: }
685: };
686:
687: return iterator2;
688: }
689:
690: /**
691: * Method generated for query /potentialTheftRating[in,in]
692: * @param car input parameter generated from slot 0
693: * @param rating input parameter generated from slot 1
694: * @return an iterator for instances of PotentialTheftRating
695: */
696: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_3(
697: final example.nz.org.take.compiler.userv.domainmodel.Car car,
698: final java.lang.String rating,
699: final DerivationController _derivation) {
700: _derivation.log("AE_PTC04", DerivationController.RULE, car,
701: rating);
702:
703: // comparing constants in rule head with parameters
704: if (!"moderate".equals(rating)) {
705: return EmptyIterator.DEFAULT;
706: }
707:
708: // Variable bindings in rule: IF greater_than(getPrice(<car>),20000) AND less_than(getPrice(<car>),45000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,moderate)
709: class bindingsInRule4 {
710: // Property generated for term "moderate"
711: java.lang.String p1;
712:
713: // Property generated for term "getType(<car>)"
714: java.lang.String p2;
715:
716: // Property generated for term "[HighTheftProbabilityAutoList]"
717: java.util.Collection p3;
718:
719: // Property generated for term "20000"
720: long p4;
721:
722: // Property generated for term "<car>"
723: example.nz.org.take.compiler.userv.domainmodel.Car p5;
724:
725: // Property generated for term "45000"
726: long p6;
727:
728: // Property generated for term "getPrice(<car>)"
729: long p7;
730: }
731: ;
732:
733: final bindingsInRule4 bindings = new bindingsInRule4();
734: bindings.p1 = "moderate";
735: bindings.p3 = Constants.HighTheftProbabilityAutoList;
736: bindings.p2 = car.getType();
737: bindings.p4 = 20000;
738: bindings.p5 = car;
739: bindings.p6 = 45000;
740: bindings.p7 = car.getPrice();
741:
742: // code for prereq greater_than(getPrice(<car>),20000)
743: final ResourceIterator<greater_than> iterator1 = KBFragement_greater_than_11
744: .greater_than_11(bindings.p7, 20000, _derivation
745: .increaseDepth());
746:
747: // code for prereq less_than(getPrice(<car>),45000)
748: final ResourceIterator<less_than> iterator2 = new NestedIterator<greater_than, less_than>(
749: iterator1) {
750: public ResourceIterator<less_than> getNextIterator(
751: greater_than object) {
752: bindings.p7 = (long) object.slot1;
753: bindings.p4 = (long) 20000;
754:
755: return KBFragement_less_than_11.less_than_11(
756: bindings.p7, bindings.p6, _derivation
757: .increaseDepth());
758: }
759: };
760:
761: // code for prereq contains([HighTheftProbabilityAutoList],getType(<car>))
762: final ResourceIterator<not_contains> iterator3 = new NestedIterator<less_than, not_contains>(
763: iterator2) {
764: public ResourceIterator<not_contains> getNextIterator(
765: less_than object) {
766: bindings.p7 = (long) object.slot1;
767: bindings.p6 = (long) 45000;
768:
769: return KBFragement_not_contains_11.not_contains_11(
770: bindings.p3, bindings.p2, _derivation
771: .increaseDepth());
772: }
773: };
774:
775: // code for prereq /potentialTheftRating(<car>,moderate)
776: final ResourceIterator<PotentialTheftRating> iterator4 = new NestedIterator<not_contains, PotentialTheftRating>(
777: iterator3) {
778: public ResourceIterator<PotentialTheftRating> getNextIterator(
779: not_contains object) {
780: bindings.p3 = Constants.HighTheftProbabilityAutoList;
781: bindings.p2 = (java.lang.String) object.slot2;
782:
783: return new SingletonIterator(new PotentialTheftRating(
784: bindings.p5, bindings.p1));
785: }
786: };
787:
788: return iterator4;
789: }
790:
791: /**
792: * Method generated for query /potentialTheftRating[in,in]
793: * @param car input parameter generated from slot 0
794: * @param rating input parameter generated from slot 1
795: * @return an iterator for instances of PotentialTheftRating
796: */
797: private static ResourceIterator<PotentialTheftRating> getPotenialTheftRating_4(
798: final example.nz.org.take.compiler.userv.domainmodel.Car car,
799: final java.lang.String rating,
800: final DerivationController _derivation) {
801: _derivation.log("AE_PTC05", DerivationController.RULE, car,
802: rating);
803:
804: // comparing constants in rule head with parameters
805: if (!"low".equals(rating)) {
806: return EmptyIterator.DEFAULT;
807: }
808:
809: // Variable bindings in rule: IF less_than(getPrice(<car>),20000) AND contains([HighTheftProbabilityAutoList],getType(<car>)) THEN /potentialTheftRating(<car>,low)
810: class bindingsInRule5 {
811: // Property generated for term "getType(<car>)"
812: java.lang.String p1;
813:
814: // Property generated for term "[HighTheftProbabilityAutoList]"
815: java.util.Collection p2;
816:
817: // Property generated for term "low"
818: java.lang.String p3;
819:
820: // Property generated for term "20000"
821: long p4;
822:
823: // Property generated for term "<car>"
824: example.nz.org.take.compiler.userv.domainmodel.Car p5;
825:
826: // Property generated for term "getPrice(<car>)"
827: long p6;
828: }
829: ;
830:
831: final bindingsInRule5 bindings = new bindingsInRule5();
832: bindings.p2 = Constants.HighTheftProbabilityAutoList;
833: bindings.p1 = car.getType();
834: bindings.p3 = "low";
835: bindings.p4 = 20000;
836: bindings.p5 = car;
837: bindings.p6 = car.getPrice();
838:
839: // code for prereq less_than(getPrice(<car>),20000)
840: final ResourceIterator<less_than> iterator1 = KBFragement_less_than_11
841: .less_than_11(bindings.p6, 20000, _derivation
842: .increaseDepth());
843:
844: // code for prereq contains([HighTheftProbabilityAutoList],getType(<car>))
845: final ResourceIterator<not_contains> iterator2 = new NestedIterator<less_than, not_contains>(
846: iterator1) {
847: public ResourceIterator<not_contains> getNextIterator(
848: less_than object) {
849: bindings.p6 = (long) object.slot1;
850: bindings.p4 = (long) 20000;
851:
852: return KBFragement_not_contains_11.not_contains_11(
853: bindings.p2, bindings.p1, _derivation
854: .increaseDepth());
855: }
856: };
857:
858: // code for prereq /potentialTheftRating(<car>,low)
859: final ResourceIterator<PotentialTheftRating> iterator3 = new NestedIterator<not_contains, PotentialTheftRating>(
860: iterator2) {
861: public ResourceIterator<PotentialTheftRating> getNextIterator(
862: not_contains object) {
863: bindings.p2 = Constants.HighTheftProbabilityAutoList;
864: bindings.p1 = (java.lang.String) object.slot2;
865:
866: return new SingletonIterator(new PotentialTheftRating(
867: bindings.p5, bindings.p3));
868: }
869: };
870:
871: return iterator3;
872: }
873: }
|