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_getAdditionalPremium {
011: /**
012: * Method generated for query /additionalPremium[in,in,out]
013: * @param policy input parameter generated from slot 0
014: * @param car input parameter generated from slot 1
015: * @return an iterator for instances of AdditionalPremium
016: */
017: public static ResultSet<AdditionalPremium> getAdditionalPremium(
018: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
019: final example.nz.org.take.compiler.userv.domainmodel.Car car) {
020: DerivationController _derivation = new DefaultDerivationController();
021: ResultSet<AdditionalPremium> _result = new ResultSet(
022: KBFragement_getAdditionalPremium.getAdditionalPremium(
023: policy, car, _derivation), _derivation);
024:
025: return _result;
026: }
027:
028: /**
029: * Method generated for query /additionalPremium[in,in,out]
030: * @param policy input parameter generated from slot 0
031: * @param car input parameter generated from slot 1
032: * @return an iterator for instances of AdditionalPremium
033: */
034: static ResourceIterator<AdditionalPremium> getAdditionalPremium(
035: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
036: final example.nz.org.take.compiler.userv.domainmodel.Car car,
037: final DerivationController _derivation) {
038: final int _derivationlevel = _derivation.getDepth();
039: ResourceIterator<AdditionalPremium> result = new IteratorChain<AdditionalPremium>(
040: 8) {
041: public Object getIteratorOrObject(int pos) {
042: switch (pos) {
043: // AP_04 IF /isNew(<car>) THEN /additionalPremium(<policy>,<car>,400)
044: case 0:
045: return getAdditionalPremium_0(policy, car,
046: _derivation.reset(_derivationlevel));
047:
048: // AP_07 IF less_than(getAge(<car>),5) AND /isNew(<car>) THEN /additionalPremium(<policy>,<car>,300)
049: case 1:
050: return getAdditionalPremium_1(policy, car,
051: _derivation.reset(_derivationlevel));
052:
053: // AP_08 IF greater_than_or_equal(getAge(<car>),5) AND less_than_or_equal(getAge(<car>),10) THEN /additionalPremium(<policy>,<car>,250)
054: case 2:
055: return getAdditionalPremium_2(policy, car,
056: _derivation.reset(_derivationlevel));
057:
058: // AP_09 IF includesUninsuredMotoristCoverage(<policy>) THEN /additionalPremium(<policy>,<car>,300)
059: case 3:
060: return getAdditionalPremium_3(policy, car,
061: _derivation.reset(_derivationlevel));
062:
063: // AP_10 IF includesMedicalCoverage(<policy>) THEN /additionalPremium(<policy>,<car>,600)
064: case 4:
065: return getAdditionalPremium_4(policy, car,
066: _derivation.reset(_derivationlevel));
067:
068: // AP_11 IF /potentialOccupantInjuryRating(<car>,extremely high) THEN /additionalPremium(<policy>,<car>,1000)
069: case 5:
070: return getAdditionalPremium_5(policy, car,
071: _derivation.reset(_derivationlevel));
072:
073: // AP_12 IF /potentialOccupantInjuryRating(<car>,high) THEN /additionalPremium(<policy>,<car>,500)
074: case 6:
075: return getAdditionalPremium_6(policy, car,
076: _derivation.reset(_derivationlevel));
077:
078: // AP_13 IF /potentialTheftRating(<car>,high) THEN /additionalPremium(<policy>,<car>,500)
079: case 7:
080: return getAdditionalPremium_7(policy, car,
081: _derivation.reset(_derivationlevel));
082:
083: default:
084: return EmptyIterator.DEFAULT;
085: } // switch(pos)
086: } // getIterator()
087:
088: public String getRuleRef(int pos) {
089: switch (pos) {
090: // AP_04 IF /isNew(<car>) THEN /additionalPremium(<policy>,<car>,400)
091: case 0:
092: return "AP_04";
093:
094: // AP_07 IF less_than(getAge(<car>),5) AND /isNew(<car>) THEN /additionalPremium(<policy>,<car>,300)
095: case 1:
096: return "AP_07";
097:
098: // AP_08 IF greater_than_or_equal(getAge(<car>),5) AND less_than_or_equal(getAge(<car>),10) THEN /additionalPremium(<policy>,<car>,250)
099: case 2:
100: return "AP_08";
101:
102: // AP_09 IF includesUninsuredMotoristCoverage(<policy>) THEN /additionalPremium(<policy>,<car>,300)
103: case 3:
104: return "AP_09";
105:
106: // AP_10 IF includesMedicalCoverage(<policy>) THEN /additionalPremium(<policy>,<car>,600)
107: case 4:
108: return "AP_10";
109:
110: // AP_11 IF /potentialOccupantInjuryRating(<car>,extremely high) THEN /additionalPremium(<policy>,<car>,1000)
111: case 5:
112: return "AP_11";
113:
114: // AP_12 IF /potentialOccupantInjuryRating(<car>,high) THEN /additionalPremium(<policy>,<car>,500)
115: case 6:
116: return "AP_12";
117:
118: // AP_13 IF /potentialTheftRating(<car>,high) THEN /additionalPremium(<policy>,<car>,500)
119: case 7:
120: return "AP_13";
121:
122: default:
123: return "";
124: } // switch(pos)
125: } // getRuleRef()
126: };
127:
128: return result;
129: }
130:
131: /**
132: * Method generated for query /additionalPremium[in,in,out]
133: * @param policy input parameter generated from slot 0
134: * @param car input parameter generated from slot 1
135: * @return an iterator for instances of AdditionalPremium
136: */
137: private static ResourceIterator<AdditionalPremium> getAdditionalPremium_0(
138: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
139: final example.nz.org.take.compiler.userv.domainmodel.Car car,
140: final DerivationController _derivation) {
141: _derivation.log("AP_04", DerivationController.RULE, policy,
142: car, DerivationController.NIL);
143:
144: // Variable bindings in rule: IF /isNew(<car>) THEN /additionalPremium(<policy>,<car>,400)
145: class bindingsInRule42 {
146: // Property generated for term "400"
147: long p1;
148:
149: // Property generated for term "<car>"
150: example.nz.org.take.compiler.userv.domainmodel.Car p2;
151:
152: // Property generated for term "<policy>"
153: example.nz.org.take.compiler.userv.domainmodel.Policy p3;
154: }
155: ;
156:
157: final bindingsInRule42 bindings = new bindingsInRule42();
158: bindings.p1 = 400;
159: bindings.p2 = car;
160: bindings.p3 = policy;
161:
162: // code for prereq /isNew(<car>)
163: final ResourceIterator<isNew> iterator1 = KBFragement_isNew_1
164: .isNew_1(car, _derivation.increaseDepth());
165:
166: // code for prereq /additionalPremium(<policy>,<car>,400)
167: final ResourceIterator<AdditionalPremium> iterator2 = new NestedIterator<isNew, AdditionalPremium>(
168: iterator1) {
169: public ResourceIterator<AdditionalPremium> getNextIterator(
170: isNew object) {
171: bindings.p2 = object.slot1;
172:
173: return new SingletonIterator(new AdditionalPremium(
174: bindings.p3, bindings.p2, bindings.p1));
175: }
176: };
177:
178: return iterator2;
179: }
180:
181: /**
182: * Method generated for query /additionalPremium[in,in,out]
183: * @param policy input parameter generated from slot 0
184: * @param car input parameter generated from slot 1
185: * @return an iterator for instances of AdditionalPremium
186: */
187: private static ResourceIterator<AdditionalPremium> getAdditionalPremium_1(
188: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
189: final example.nz.org.take.compiler.userv.domainmodel.Car car,
190: final DerivationController _derivation) {
191: _derivation.log("AP_07", DerivationController.RULE, policy,
192: car, DerivationController.NIL);
193:
194: // Variable bindings in rule: IF less_than(getAge(<car>),5) AND /isNew(<car>) THEN /additionalPremium(<policy>,<car>,300)
195: class bindingsInRule43 {
196: // Property generated for term "5"
197: long p1;
198:
199: // Property generated for term "getAge(<car>)"
200: long p2;
201:
202: // Property generated for term "<car>"
203: example.nz.org.take.compiler.userv.domainmodel.Car p3;
204:
205: // Property generated for term "<policy>"
206: example.nz.org.take.compiler.userv.domainmodel.Policy p4;
207:
208: // Property generated for term "300"
209: long p5;
210: }
211: ;
212:
213: final bindingsInRule43 bindings = new bindingsInRule43();
214: bindings.p2 = car.getAge();
215: bindings.p1 = 5;
216: bindings.p3 = car;
217: bindings.p4 = policy;
218: bindings.p5 = 300;
219:
220: // code for prereq less_than(getAge(<car>),5)
221: final ResourceIterator<less_than> iterator1 = KBFragement_less_than_11
222: .less_than_11(bindings.p2, 5, _derivation
223: .increaseDepth());
224:
225: // code for prereq /isNew(<car>)
226: final ResourceIterator<not_isNew> iterator2 = new NestedIterator<less_than, not_isNew>(
227: iterator1) {
228: public ResourceIterator<not_isNew> getNextIterator(
229: less_than object) {
230: bindings.p2 = (long) object.slot1;
231: bindings.p1 = (long) 5;
232:
233: return KBFragement_not_isNew_1.not_isNew_1(bindings.p3,
234: _derivation.increaseDepth());
235: }
236: };
237:
238: // code for prereq /additionalPremium(<policy>,<car>,300)
239: final ResourceIterator<AdditionalPremium> iterator3 = new NestedIterator<not_isNew, AdditionalPremium>(
240: iterator2) {
241: public ResourceIterator<AdditionalPremium> getNextIterator(
242: not_isNew object) {
243: bindings.p3 = object.slot1;
244:
245: return new SingletonIterator(new AdditionalPremium(
246: bindings.p4, bindings.p3, bindings.p5));
247: }
248: };
249:
250: return iterator3;
251: }
252:
253: /**
254: * Method generated for query /additionalPremium[in,in,out]
255: * @param policy input parameter generated from slot 0
256: * @param car input parameter generated from slot 1
257: * @return an iterator for instances of AdditionalPremium
258: */
259: private static ResourceIterator<AdditionalPremium> getAdditionalPremium_2(
260: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
261: final example.nz.org.take.compiler.userv.domainmodel.Car car,
262: final DerivationController _derivation) {
263: _derivation.log("AP_08", DerivationController.RULE, policy,
264: car, DerivationController.NIL);
265:
266: // Variable bindings in rule: IF greater_than_or_equal(getAge(<car>),5) AND less_than_or_equal(getAge(<car>),10) THEN /additionalPremium(<policy>,<car>,250)
267: class bindingsInRule44 {
268: // Property generated for term "5"
269: long p1;
270:
271: // Property generated for term "getAge(<car>)"
272: long p2;
273:
274: // Property generated for term "<car>"
275: example.nz.org.take.compiler.userv.domainmodel.Car p3;
276:
277: // Property generated for term "250"
278: long p4;
279:
280: // Property generated for term "<policy>"
281: example.nz.org.take.compiler.userv.domainmodel.Policy p5;
282:
283: // Property generated for term "10"
284: long p6;
285: }
286: ;
287:
288: final bindingsInRule44 bindings = new bindingsInRule44();
289: bindings.p2 = car.getAge();
290: bindings.p1 = 5;
291: bindings.p3 = car;
292: bindings.p4 = 250;
293: bindings.p6 = 10;
294: bindings.p5 = policy;
295:
296: // code for prereq greater_than_or_equal(getAge(<car>),5)
297: final ResourceIterator<greater_than_or_equal> iterator1 = KBFragement_greater_than_or_equal_11
298: .greater_than_or_equal_11(bindings.p2, 5, _derivation
299: .increaseDepth());
300:
301: // code for prereq less_than_or_equal(getAge(<car>),10)
302: final ResourceIterator<less_than_or_equal> iterator2 = new NestedIterator<greater_than_or_equal, less_than_or_equal>(
303: iterator1) {
304: public ResourceIterator<less_than_or_equal> getNextIterator(
305: greater_than_or_equal object) {
306: bindings.p2 = (long) object.slot1;
307: bindings.p1 = (long) 5;
308:
309: return KBFragement_less_than_or_equal_11
310: .less_than_or_equal_11(bindings.p2,
311: bindings.p6, _derivation
312: .increaseDepth());
313: }
314: };
315:
316: // code for prereq /additionalPremium(<policy>,<car>,250)
317: final ResourceIterator<AdditionalPremium> iterator3 = new NestedIterator<less_than_or_equal, AdditionalPremium>(
318: iterator2) {
319: public ResourceIterator<AdditionalPremium> getNextIterator(
320: less_than_or_equal object) {
321: bindings.p2 = (long) object.slot1;
322: bindings.p6 = (long) 10;
323:
324: return new SingletonIterator(new AdditionalPremium(
325: bindings.p5, bindings.p3, bindings.p4));
326: }
327: };
328:
329: return iterator3;
330: }
331:
332: /**
333: * Method generated for query /additionalPremium[in,in,out]
334: * @param policy input parameter generated from slot 0
335: * @param car input parameter generated from slot 1
336: * @return an iterator for instances of AdditionalPremium
337: */
338: private static ResourceIterator<AdditionalPremium> getAdditionalPremium_3(
339: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
340: final example.nz.org.take.compiler.userv.domainmodel.Car car,
341: final DerivationController _derivation) {
342: _derivation.log("AP_09", DerivationController.RULE, policy,
343: car, DerivationController.NIL);
344:
345: // Variable bindings in rule: IF includesUninsuredMotoristCoverage(<policy>) THEN /additionalPremium(<policy>,<car>,300)
346: class bindingsInRule45 {
347: // Property generated for term "<car>"
348: example.nz.org.take.compiler.userv.domainmodel.Car p1;
349:
350: // Property generated for term "<policy>"
351: example.nz.org.take.compiler.userv.domainmodel.Policy p2;
352:
353: // Property generated for term "300"
354: long p3;
355: }
356: ;
357:
358: final bindingsInRule45 bindings = new bindingsInRule45();
359: bindings.p1 = car;
360: bindings.p2 = policy;
361: bindings.p3 = 300;
362:
363: // code for prereq includesUninsuredMotoristCoverage(<policy>)
364: final ResourceIterator<includesUninsuredMotoristCoverage> iterator1 = KBFragement_includesUninsuredMotoristCoverage_1
365: .includesUninsuredMotoristCoverage_1(policy,
366: _derivation.increaseDepth());
367:
368: // code for prereq /additionalPremium(<policy>,<car>,300)
369: final ResourceIterator<AdditionalPremium> iterator2 = new NestedIterator<includesUninsuredMotoristCoverage, AdditionalPremium>(
370: iterator1) {
371: public ResourceIterator<AdditionalPremium> getNextIterator(
372: includesUninsuredMotoristCoverage object) {
373: bindings.p2 = object.slot1;
374:
375: return new SingletonIterator(new AdditionalPremium(
376: bindings.p2, bindings.p1, bindings.p3));
377: }
378: };
379:
380: return iterator2;
381: }
382:
383: /**
384: * Method generated for query /additionalPremium[in,in,out]
385: * @param policy input parameter generated from slot 0
386: * @param car input parameter generated from slot 1
387: * @return an iterator for instances of AdditionalPremium
388: */
389: private static ResourceIterator<AdditionalPremium> getAdditionalPremium_4(
390: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
391: final example.nz.org.take.compiler.userv.domainmodel.Car car,
392: final DerivationController _derivation) {
393: _derivation.log("AP_10", DerivationController.RULE, policy,
394: car, DerivationController.NIL);
395:
396: // Variable bindings in rule: IF includesMedicalCoverage(<policy>) THEN /additionalPremium(<policy>,<car>,600)
397: class bindingsInRule46 {
398: // Property generated for term "600"
399: long p1;
400:
401: // Property generated for term "<car>"
402: example.nz.org.take.compiler.userv.domainmodel.Car p2;
403:
404: // Property generated for term "<policy>"
405: example.nz.org.take.compiler.userv.domainmodel.Policy p3;
406: }
407: ;
408:
409: final bindingsInRule46 bindings = new bindingsInRule46();
410: bindings.p1 = 600;
411: bindings.p2 = car;
412: bindings.p3 = policy;
413:
414: // code for prereq includesMedicalCoverage(<policy>)
415: final ResourceIterator<includesMedicalCoverage> iterator1 = KBFragement_includesMedicalCoverage_1
416: .includesMedicalCoverage_1(policy, _derivation
417: .increaseDepth());
418:
419: // code for prereq /additionalPremium(<policy>,<car>,600)
420: final ResourceIterator<AdditionalPremium> iterator2 = new NestedIterator<includesMedicalCoverage, AdditionalPremium>(
421: iterator1) {
422: public ResourceIterator<AdditionalPremium> getNextIterator(
423: includesMedicalCoverage object) {
424: bindings.p3 = object.slot1;
425:
426: return new SingletonIterator(new AdditionalPremium(
427: bindings.p3, bindings.p2, bindings.p1));
428: }
429: };
430:
431: return iterator2;
432: }
433:
434: /**
435: * Method generated for query /additionalPremium[in,in,out]
436: * @param policy input parameter generated from slot 0
437: * @param car input parameter generated from slot 1
438: * @return an iterator for instances of AdditionalPremium
439: */
440: private static ResourceIterator<AdditionalPremium> getAdditionalPremium_5(
441: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
442: final example.nz.org.take.compiler.userv.domainmodel.Car car,
443: final DerivationController _derivation) {
444: _derivation.log("AP_11", DerivationController.RULE, policy,
445: car, DerivationController.NIL);
446:
447: // Variable bindings in rule: IF /potentialOccupantInjuryRating(<car>,extremely high) THEN /additionalPremium(<policy>,<car>,1000)
448: class bindingsInRule47 {
449: // Property generated for term "1000"
450: long p1;
451:
452: // Property generated for term "extremely high"
453: java.lang.String p2;
454:
455: // Property generated for term "<car>"
456: example.nz.org.take.compiler.userv.domainmodel.Car p3;
457:
458: // Property generated for term "<policy>"
459: example.nz.org.take.compiler.userv.domainmodel.Policy p4;
460: }
461: ;
462:
463: final bindingsInRule47 bindings = new bindingsInRule47();
464: bindings.p1 = 1000;
465: bindings.p2 = "extremely high";
466: bindings.p3 = car;
467: bindings.p4 = policy;
468:
469: // code for prereq /potentialOccupantInjuryRating(<car>,extremely high)
470: final ResourceIterator<PotentialOccupantInjuryRating> iterator1 = KBFragement_getPotentialOccupantInjuryRating
471: .getPotentialOccupantInjuryRating(car,
472: "extremely high", _derivation.increaseDepth());
473:
474: // code for prereq /additionalPremium(<policy>,<car>,1000)
475: final ResourceIterator<AdditionalPremium> iterator2 = new NestedIterator<PotentialOccupantInjuryRating, AdditionalPremium>(
476: iterator1) {
477: public ResourceIterator<AdditionalPremium> getNextIterator(
478: PotentialOccupantInjuryRating object) {
479: bindings.p3 = object.car;
480: bindings.p2 = "extremely high";
481:
482: return new SingletonIterator(new AdditionalPremium(
483: bindings.p4, bindings.p3, bindings.p1));
484: }
485: };
486:
487: return iterator2;
488: }
489:
490: /**
491: * Method generated for query /additionalPremium[in,in,out]
492: * @param policy input parameter generated from slot 0
493: * @param car input parameter generated from slot 1
494: * @return an iterator for instances of AdditionalPremium
495: */
496: private static ResourceIterator<AdditionalPremium> getAdditionalPremium_6(
497: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
498: final example.nz.org.take.compiler.userv.domainmodel.Car car,
499: final DerivationController _derivation) {
500: _derivation.log("AP_12", DerivationController.RULE, policy,
501: car, DerivationController.NIL);
502:
503: // Variable bindings in rule: IF /potentialOccupantInjuryRating(<car>,high) THEN /additionalPremium(<policy>,<car>,500)
504: class bindingsInRule48 {
505: // Property generated for term "high"
506: java.lang.String p1;
507:
508: // Property generated for term "<car>"
509: example.nz.org.take.compiler.userv.domainmodel.Car p2;
510:
511: // Property generated for term "<policy>"
512: example.nz.org.take.compiler.userv.domainmodel.Policy p3;
513:
514: // Property generated for term "500"
515: long p4;
516: }
517: ;
518:
519: final bindingsInRule48 bindings = new bindingsInRule48();
520: bindings.p1 = "high";
521: bindings.p2 = car;
522: bindings.p3 = policy;
523: bindings.p4 = 500;
524:
525: // code for prereq /potentialOccupantInjuryRating(<car>,high)
526: final ResourceIterator<PotentialOccupantInjuryRating> iterator1 = KBFragement_getPotentialOccupantInjuryRating
527: .getPotentialOccupantInjuryRating(car, "high",
528: _derivation.increaseDepth());
529:
530: // code for prereq /additionalPremium(<policy>,<car>,500)
531: final ResourceIterator<AdditionalPremium> iterator2 = new NestedIterator<PotentialOccupantInjuryRating, AdditionalPremium>(
532: iterator1) {
533: public ResourceIterator<AdditionalPremium> getNextIterator(
534: PotentialOccupantInjuryRating object) {
535: bindings.p2 = object.car;
536: bindings.p1 = "high";
537:
538: return new SingletonIterator(new AdditionalPremium(
539: bindings.p3, bindings.p2, bindings.p4));
540: }
541: };
542:
543: return iterator2;
544: }
545:
546: /**
547: * Method generated for query /additionalPremium[in,in,out]
548: * @param policy input parameter generated from slot 0
549: * @param car input parameter generated from slot 1
550: * @return an iterator for instances of AdditionalPremium
551: */
552: private static ResourceIterator<AdditionalPremium> getAdditionalPremium_7(
553: final example.nz.org.take.compiler.userv.domainmodel.Policy policy,
554: final example.nz.org.take.compiler.userv.domainmodel.Car car,
555: final DerivationController _derivation) {
556: _derivation.log("AP_13", DerivationController.RULE, policy,
557: car, DerivationController.NIL);
558:
559: // Variable bindings in rule: IF /potentialTheftRating(<car>,high) THEN /additionalPremium(<policy>,<car>,500)
560: class bindingsInRule49 {
561: // Property generated for term "high"
562: java.lang.String p1;
563:
564: // Property generated for term "<car>"
565: example.nz.org.take.compiler.userv.domainmodel.Car p2;
566:
567: // Property generated for term "<policy>"
568: example.nz.org.take.compiler.userv.domainmodel.Policy p3;
569:
570: // Property generated for term "500"
571: long p4;
572: }
573: ;
574:
575: final bindingsInRule49 bindings = new bindingsInRule49();
576: bindings.p1 = "high";
577: bindings.p2 = car;
578: bindings.p3 = policy;
579: bindings.p4 = 500;
580:
581: // code for prereq /potentialTheftRating(<car>,high)
582: final ResourceIterator<PotentialTheftRating> iterator1 = KBFragement_getPotenialTheftRating
583: .getPotenialTheftRating(car, "high", _derivation
584: .increaseDepth());
585:
586: // code for prereq /additionalPremium(<policy>,<car>,500)
587: final ResourceIterator<AdditionalPremium> iterator2 = new NestedIterator<PotentialTheftRating, AdditionalPremium>(
588: iterator1) {
589: public ResourceIterator<AdditionalPremium> getNextIterator(
590: PotentialTheftRating object) {
591: bindings.p2 = object.car;
592: bindings.p1 = "high";
593:
594: return new SingletonIterator(new AdditionalPremium(
595: bindings.p3, bindings.p2, bindings.p4));
596: }
597: };
598:
599: return iterator2;
600: }
601: }
|