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