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_getDriverEligibility {
011: /**
012: * Method generated for query /isEligible[in]
013: * @param driver input parameter generated from slot 0
014: * @return an iterator for instances of DriverEligibility
015: */
016: public static ResultSet<DriverEligibility> getDriverEligibility(
017: final example.nz.org.take.compiler.userv.domainmodel.Driver driver) {
018: DerivationController _derivation = new DefaultDerivationController();
019: ResultSet<DriverEligibility> _result = new ResultSet(
020: KBFragement_getDriverEligibility.getDriverEligibility(
021: driver, _derivation), _derivation);
022:
023: return _result;
024: }
025:
026: /**
027: * Method generated for query /isEligible[in]
028: * @param driver input parameter generated from slot 0
029: * @return an iterator for instances of DriverEligibility
030: */
031: static ResourceIterator<DriverEligibility> getDriverEligibility(
032: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
033: final DerivationController _derivation) {
034: final int _derivationlevel = _derivation.getDepth();
035: ResourceIterator<DriverEligibility> result = new IteratorChain<DriverEligibility>(
036: 3) {
037: public Object getIteratorOrObject(int pos) {
038: switch (pos) {
039: // DE_DAC03 IF /driverCategory(<driver>,young driver) AND /hasTrainingCertification(<driver>) THEN /isEligible(<driver>)
040: case 0:
041: return getDriverEligibility_0(driver, _derivation
042: .reset(_derivationlevel));
043:
044: // DE_DAC05 IF /driverCategory(<driver>,senior driver) AND /hasTrainingCertification(<driver>) THEN /isEligible(<driver>)
045: case 1:
046: return getDriverEligibility_1(driver, _derivation
047: .reset(_derivationlevel));
048:
049: // DE_DAC06 IF /driverCategory(<driver>,senior driver) AND /driverCategory(<driver>,young driver) THEN /isEligible(<driver>)
050: case 2:
051: return getDriverEligibility_2(driver, _derivation
052: .reset(_derivationlevel));
053:
054: default:
055: return EmptyIterator.DEFAULT;
056: } // switch(pos)
057: } // getIterator()
058:
059: public String getRuleRef(int pos) {
060: switch (pos) {
061: // DE_DAC03 IF /driverCategory(<driver>,young driver) AND /hasTrainingCertification(<driver>) THEN /isEligible(<driver>)
062: case 0:
063: return "DE_DAC03";
064:
065: // DE_DAC05 IF /driverCategory(<driver>,senior driver) AND /hasTrainingCertification(<driver>) THEN /isEligible(<driver>)
066: case 1:
067: return "DE_DAC05";
068:
069: // DE_DAC06 IF /driverCategory(<driver>,senior driver) AND /driverCategory(<driver>,young driver) THEN /isEligible(<driver>)
070: case 2:
071: return "DE_DAC06";
072:
073: default:
074: return "";
075: } // switch(pos)
076: } // getRuleRef()
077: };
078:
079: return result;
080: }
081:
082: /**
083: * Method generated for query /isEligible[in]
084: * @param driver input parameter generated from slot 0
085: * @return an iterator for instances of DriverEligibility
086: */
087: private static ResourceIterator<DriverEligibility> getDriverEligibility_0(
088: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
089: final DerivationController _derivation) {
090: _derivation.log("DE_DAC03", DerivationController.RULE, driver);
091:
092: // Variable bindings in rule: IF /driverCategory(<driver>,young driver) AND /hasTrainingCertification(<driver>) THEN /isEligible(<driver>)
093: class bindingsInRule18 {
094: // Property generated for term "young driver"
095: java.lang.String p1;
096:
097: // Property generated for term "<driver>"
098: example.nz.org.take.compiler.userv.domainmodel.Driver p2;
099: }
100: ;
101:
102: final bindingsInRule18 bindings = new bindingsInRule18();
103: bindings.p1 = "young driver";
104: bindings.p2 = driver;
105:
106: // code for prereq /driverCategory(<driver>,young driver)
107: final ResourceIterator<DriverCategory> iterator1 = KBFragement_getDriverCategory
108: .getDriverCategory(driver, "young driver", _derivation
109: .increaseDepth());
110:
111: // code for prereq /hasTrainingCertification(<driver>)
112: final ResourceIterator<TrainedDriver> iterator2 = new NestedIterator<DriverCategory, TrainedDriver>(
113: iterator1) {
114: public ResourceIterator<TrainedDriver> getNextIterator(
115: DriverCategory object) {
116: bindings.p2 = object.driver;
117: bindings.p1 = "young driver";
118:
119: return KBFragement_hasTrainingCertification
120: .hasTrainingCertification(bindings.p2,
121: _derivation.increaseDepth());
122: }
123: };
124:
125: // code for prereq /isEligible(<driver>)
126: final ResourceIterator<DriverEligibility> iterator3 = new NestedIterator<TrainedDriver, DriverEligibility>(
127: iterator2) {
128: public ResourceIterator<DriverEligibility> getNextIterator(
129: TrainedDriver object) {
130: bindings.p2 = object.driver;
131:
132: return new SingletonIterator(new DriverEligibility(
133: bindings.p2));
134: }
135: };
136:
137: return iterator3;
138: }
139:
140: /**
141: * Method generated for query /isEligible[in]
142: * @param driver input parameter generated from slot 0
143: * @return an iterator for instances of DriverEligibility
144: */
145: private static ResourceIterator<DriverEligibility> getDriverEligibility_1(
146: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
147: final DerivationController _derivation) {
148: _derivation.log("DE_DAC05", DerivationController.RULE, driver);
149:
150: // Variable bindings in rule: IF /driverCategory(<driver>,senior driver) AND /hasTrainingCertification(<driver>) THEN /isEligible(<driver>)
151: class bindingsInRule19 {
152: // Property generated for term "<driver>"
153: example.nz.org.take.compiler.userv.domainmodel.Driver p1;
154:
155: // Property generated for term "senior driver"
156: java.lang.String p2;
157: }
158: ;
159:
160: final bindingsInRule19 bindings = new bindingsInRule19();
161: bindings.p1 = driver;
162: bindings.p2 = "senior driver";
163:
164: // code for prereq /driverCategory(<driver>,senior driver)
165: final ResourceIterator<DriverCategory> iterator1 = KBFragement_getDriverCategory
166: .getDriverCategory(driver, "senior driver", _derivation
167: .increaseDepth());
168:
169: // code for prereq /hasTrainingCertification(<driver>)
170: final ResourceIterator<TrainedDriver> iterator2 = new NestedIterator<DriverCategory, TrainedDriver>(
171: iterator1) {
172: public ResourceIterator<TrainedDriver> getNextIterator(
173: DriverCategory object) {
174: bindings.p1 = object.driver;
175: bindings.p2 = "senior driver";
176:
177: return KBFragement_hasTrainingCertification
178: .hasTrainingCertification(bindings.p1,
179: _derivation.increaseDepth());
180: }
181: };
182:
183: // code for prereq /isEligible(<driver>)
184: final ResourceIterator<DriverEligibility> iterator3 = new NestedIterator<TrainedDriver, DriverEligibility>(
185: iterator2) {
186: public ResourceIterator<DriverEligibility> getNextIterator(
187: TrainedDriver object) {
188: bindings.p1 = object.driver;
189:
190: return new SingletonIterator(new DriverEligibility(
191: bindings.p1));
192: }
193: };
194:
195: return iterator3;
196: }
197:
198: /**
199: * Method generated for query /isEligible[in]
200: * @param driver input parameter generated from slot 0
201: * @return an iterator for instances of DriverEligibility
202: */
203: private static ResourceIterator<DriverEligibility> getDriverEligibility_2(
204: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
205: final DerivationController _derivation) {
206: _derivation.log("DE_DAC06", DerivationController.RULE, driver);
207:
208: // Variable bindings in rule: IF /driverCategory(<driver>,senior driver) AND /driverCategory(<driver>,young driver) THEN /isEligible(<driver>)
209: class bindingsInRule20 {
210: // Property generated for term "young driver"
211: java.lang.String p1;
212:
213: // Property generated for term "<driver>"
214: example.nz.org.take.compiler.userv.domainmodel.Driver p2;
215:
216: // Property generated for term "senior driver"
217: java.lang.String p3;
218: }
219: ;
220:
221: final bindingsInRule20 bindings = new bindingsInRule20();
222: bindings.p1 = "young driver";
223: bindings.p2 = driver;
224: bindings.p3 = "senior driver";
225:
226: // code for prereq /driverCategory(<driver>,senior driver)
227: final ResourceIterator<not_DriverCategory> iterator1 = KBFragement_not_getDriverCategory
228: .not_getDriverCategory(driver, "senior driver",
229: _derivation.increaseDepth());
230:
231: // code for prereq /driverCategory(<driver>,young driver)
232: final ResourceIterator<not_DriverCategory> iterator2 = new NestedIterator<not_DriverCategory, not_DriverCategory>(
233: iterator1) {
234: public ResourceIterator<not_DriverCategory> getNextIterator(
235: not_DriverCategory object) {
236: bindings.p2 = object.driver;
237: bindings.p3 = "senior driver";
238:
239: return KBFragement_not_getDriverCategory
240: .not_getDriverCategory(bindings.p2,
241: bindings.p1, _derivation
242: .increaseDepth());
243: }
244: };
245:
246: // code for prereq /isEligible(<driver>)
247: final ResourceIterator<DriverEligibility> iterator3 = new NestedIterator<not_DriverCategory, DriverEligibility>(
248: iterator2) {
249: public ResourceIterator<DriverEligibility> getNextIterator(
250: not_DriverCategory object) {
251: bindings.p2 = object.driver;
252: bindings.p1 = "young driver";
253:
254: return new SingletonIterator(new DriverEligibility(
255: bindings.p2));
256: }
257: };
258:
259: return iterator3;
260: }
261: }
|