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_hasTrainingCertification {
011: /**
012: * Method generated for query /hasTrainingCertification[in]
013: * @param driver input parameter generated from slot 0
014: * @return an iterator for instances of TrainedDriver
015: */
016: public static ResultSet<TrainedDriver> hasTrainingCertification(
017: final example.nz.org.take.compiler.userv.domainmodel.Driver driver) {
018: DerivationController _derivation = new DefaultDerivationController();
019: ResultSet<TrainedDriver> _result = new ResultSet(
020: KBFragement_hasTrainingCertification
021: .hasTrainingCertification(driver, _derivation),
022: _derivation);
023:
024: return _result;
025: }
026:
027: /**
028: * Method generated for query /hasTrainingCertification[in]
029: * @param driver input parameter generated from slot 0
030: * @return an iterator for instances of TrainedDriver
031: */
032: static ResourceIterator<TrainedDriver> hasTrainingCertification(
033: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
034: final DerivationController _derivation) {
035: final int _derivationlevel = _derivation.getDepth();
036: ResourceIterator<TrainedDriver> result = new IteratorChain<TrainedDriver>(
037: 3) {
038: public Object getIteratorOrObject(int pos) {
039: switch (pos) {
040: // DE_DAC07 IF hasDriversTrainingFromSchool(<driver>) THEN /hasTrainingCertification(<driver>)
041: case 0:
042: return hasTrainingCertification_0(driver,
043: _derivation.reset(_derivationlevel));
044:
045: // DE_DAC08 IF hasDriversTrainingFromLicensedDriverTrainingCompany(<driver>) THEN /hasTrainingCertification(<driver>)
046: case 1:
047: return hasTrainingCertification_1(driver,
048: _derivation.reset(_derivationlevel));
049:
050: // DE_DAC09 IF hasTakenASeniorCitizenDriversRefresherCourse(<driver>) THEN /hasTrainingCertification(<driver>)
051: case 2:
052: return hasTrainingCertification_2(driver,
053: _derivation.reset(_derivationlevel));
054:
055: default:
056: return EmptyIterator.DEFAULT;
057: } // switch(pos)
058: } // getIterator()
059:
060: public String getRuleRef(int pos) {
061: switch (pos) {
062: // DE_DAC07 IF hasDriversTrainingFromSchool(<driver>) THEN /hasTrainingCertification(<driver>)
063: case 0:
064: return "DE_DAC07";
065:
066: // DE_DAC08 IF hasDriversTrainingFromLicensedDriverTrainingCompany(<driver>) THEN /hasTrainingCertification(<driver>)
067: case 1:
068: return "DE_DAC08";
069:
070: // DE_DAC09 IF hasTakenASeniorCitizenDriversRefresherCourse(<driver>) THEN /hasTrainingCertification(<driver>)
071: case 2:
072: return "DE_DAC09";
073:
074: default:
075: return "";
076: } // switch(pos)
077: } // getRuleRef()
078: };
079:
080: return result;
081: }
082:
083: /**
084: * Method generated for query /hasTrainingCertification[in]
085: * @param driver input parameter generated from slot 0
086: * @return an iterator for instances of TrainedDriver
087: */
088: private static ResourceIterator<TrainedDriver> hasTrainingCertification_0(
089: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
090: final DerivationController _derivation) {
091: _derivation.log("DE_DAC07", DerivationController.RULE, driver);
092:
093: // Variable bindings in rule: IF hasDriversTrainingFromSchool(<driver>) THEN /hasTrainingCertification(<driver>)
094: class bindingsInRule24 {
095: // Property generated for term "<driver>"
096: example.nz.org.take.compiler.userv.domainmodel.Driver p1;
097: }
098: ;
099:
100: final bindingsInRule24 bindings = new bindingsInRule24();
101: bindings.p1 = driver;
102:
103: // code for prereq hasDriversTrainingFromSchool(<driver>)
104: final ResourceIterator<hasDriversTrainingFromSchool> iterator1 = KBFragement_hasDriversTrainingFromSchool_1
105: .hasDriversTrainingFromSchool_1(driver, _derivation
106: .increaseDepth());
107:
108: // code for prereq /hasTrainingCertification(<driver>)
109: final ResourceIterator<TrainedDriver> iterator2 = new NestedIterator<hasDriversTrainingFromSchool, TrainedDriver>(
110: iterator1) {
111: public ResourceIterator<TrainedDriver> getNextIterator(
112: hasDriversTrainingFromSchool object) {
113: bindings.p1 = object.slot1;
114:
115: return new SingletonIterator(new TrainedDriver(
116: bindings.p1));
117: }
118: };
119:
120: return iterator2;
121: }
122:
123: /**
124: * Method generated for query /hasTrainingCertification[in]
125: * @param driver input parameter generated from slot 0
126: * @return an iterator for instances of TrainedDriver
127: */
128: private static ResourceIterator<TrainedDriver> hasTrainingCertification_1(
129: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
130: final DerivationController _derivation) {
131: _derivation.log("DE_DAC08", DerivationController.RULE, driver);
132:
133: // Variable bindings in rule: IF hasDriversTrainingFromLicensedDriverTrainingCompany(<driver>) THEN /hasTrainingCertification(<driver>)
134: class bindingsInRule25 {
135: // Property generated for term "<driver>"
136: example.nz.org.take.compiler.userv.domainmodel.Driver p1;
137: }
138: ;
139:
140: final bindingsInRule25 bindings = new bindingsInRule25();
141: bindings.p1 = driver;
142:
143: // code for prereq hasDriversTrainingFromLicensedDriverTrainingCompany(<driver>)
144: final ResourceIterator<hasDriversTrainingFromLicensedDriverTrainingCompany> iterator1 = KBFragement_hasDriversTrainingFromLicensedDriverTrainingCompany_1
145: .hasDriversTrainingFromLicensedDriverTrainingCompany_1(
146: driver, _derivation.increaseDepth());
147:
148: // code for prereq /hasTrainingCertification(<driver>)
149: final ResourceIterator<TrainedDriver> iterator2 = new NestedIterator<hasDriversTrainingFromLicensedDriverTrainingCompany, TrainedDriver>(
150: iterator1) {
151: public ResourceIterator<TrainedDriver> getNextIterator(
152: hasDriversTrainingFromLicensedDriverTrainingCompany object) {
153: bindings.p1 = object.slot1;
154:
155: return new SingletonIterator(new TrainedDriver(
156: bindings.p1));
157: }
158: };
159:
160: return iterator2;
161: }
162:
163: /**
164: * Method generated for query /hasTrainingCertification[in]
165: * @param driver input parameter generated from slot 0
166: * @return an iterator for instances of TrainedDriver
167: */
168: private static ResourceIterator<TrainedDriver> hasTrainingCertification_2(
169: final example.nz.org.take.compiler.userv.domainmodel.Driver driver,
170: final DerivationController _derivation) {
171: _derivation.log("DE_DAC09", DerivationController.RULE, driver);
172:
173: // Variable bindings in rule: IF hasTakenASeniorCitizenDriversRefresherCourse(<driver>) THEN /hasTrainingCertification(<driver>)
174: class bindingsInRule26 {
175: // Property generated for term "<driver>"
176: example.nz.org.take.compiler.userv.domainmodel.Driver p1;
177: }
178: ;
179:
180: final bindingsInRule26 bindings = new bindingsInRule26();
181: bindings.p1 = driver;
182:
183: // code for prereq hasTakenASeniorCitizenDriversRefresherCourse(<driver>)
184: final ResourceIterator<hasTakenASeniorCitizenDriversRefresherCourse> iterator1 = KBFragement_hasTakenASeniorCitizenDriversRefresherCourse_1
185: .hasTakenASeniorCitizenDriversRefresherCourse_1(driver,
186: _derivation.increaseDepth());
187:
188: // code for prereq /hasTrainingCertification(<driver>)
189: final ResourceIterator<TrainedDriver> iterator2 = new NestedIterator<hasTakenASeniorCitizenDriversRefresherCourse, TrainedDriver>(
190: iterator1) {
191: public ResourceIterator<TrainedDriver> getNextIterator(
192: hasTakenASeniorCitizenDriversRefresherCourse object) {
193: bindings.p1 = object.slot1;
194:
195: return new SingletonIterator(new TrainedDriver(
196: bindings.p1));
197: }
198: };
199:
200: return iterator2;
201: }
202: }
|