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:17 NZDT 2008
008: */
009: @SuppressWarnings("unchecked")
010: class KBFragement_isNew_1 {
011: /**
012: * Method generated for query /isNew[in]
013: * @param slot1 input parameter generated from slot 0
014: * @return an iterator for instances of isNew
015: */
016: public static ResultSet<isNew> isNew_1(
017: final example.nz.org.take.compiler.userv.domainmodel.Car slot1) {
018: DerivationController _derivation = new DefaultDerivationController();
019: ResultSet<isNew> _result = new ResultSet(KBFragement_isNew_1
020: .isNew_1(slot1, _derivation), _derivation);
021:
022: return _result;
023: }
024:
025: /**
026: * Method generated for query /isNew[in]
027: * @param slot1 input parameter generated from slot 0
028: * @return an iterator for instances of isNew
029: */
030: static ResourceIterator<isNew> isNew_1(
031: final example.nz.org.take.compiler.userv.domainmodel.Car slot1,
032: final DerivationController _derivation) {
033: final int _derivationlevel = _derivation.getDepth();
034: ResourceIterator<isNew> result = new IteratorChain<isNew>(2) {
035: public Object getIteratorOrObject(int pos) {
036: switch (pos) {
037: // AP_05 IF equal(getModelYear(<car>),[CurrentYear]) THEN /isNew(<car>)
038: case 0:
039: return isNew_1_0(slot1, _derivation
040: .reset(_derivationlevel));
041:
042: // AP_06 IF equal(getModelYear(<car>),[NextYear]) THEN /isNew(<car>)
043: case 1:
044: return isNew_1_1(slot1, _derivation
045: .reset(_derivationlevel));
046:
047: default:
048: return EmptyIterator.DEFAULT;
049: } // switch(pos)
050: } // getIterator()
051:
052: public String getRuleRef(int pos) {
053: switch (pos) {
054: // AP_05 IF equal(getModelYear(<car>),[CurrentYear]) THEN /isNew(<car>)
055: case 0:
056: return "AP_05";
057:
058: // AP_06 IF equal(getModelYear(<car>),[NextYear]) THEN /isNew(<car>)
059: case 1:
060: return "AP_06";
061:
062: default:
063: return "";
064: } // switch(pos)
065: } // getRuleRef()
066: };
067:
068: return result;
069: }
070:
071: /**
072: * Method generated for query /isNew[in]
073: * @param slot1 input parameter generated from slot 0
074: * @return an iterator for instances of isNew
075: */
076: private static ResourceIterator<isNew> isNew_1_0(
077: final example.nz.org.take.compiler.userv.domainmodel.Car slot1,
078: final DerivationController _derivation) {
079: _derivation.log("AP_05", DerivationController.RULE, slot1);
080:
081: // Variable bindings in rule: IF equal(getModelYear(<car>),[CurrentYear]) THEN /isNew(<car>)
082: class bindingsInRule64 {
083: // Property generated for term "getModelYear(<car>)"
084: long p1;
085:
086: // Property generated for term "<car>"
087: example.nz.org.take.compiler.userv.domainmodel.Car p2;
088:
089: // Property generated for term "[CurrentYear]"
090: long p3;
091: }
092: ;
093:
094: final bindingsInRule64 bindings = new bindingsInRule64();
095: bindings.p1 = slot1.getModelYear();
096: bindings.p2 = slot1;
097: bindings.p3 = Constants.CurrentYear;
098:
099: // code for prereq equal(getModelYear(<car>),[CurrentYear])
100: final ResourceIterator<equal> iterator1 = KBFragement_equal_11
101: .equal_11(bindings.p1, Constants.CurrentYear,
102: _derivation.increaseDepth());
103:
104: // code for prereq /isNew(<car>)
105: final ResourceIterator<isNew> iterator2 = new NestedIterator<equal, isNew>(
106: iterator1) {
107: public ResourceIterator<isNew> getNextIterator(equal object) {
108: bindings.p1 = (long) object.slot1;
109: bindings.p3 = (long) Constants.CurrentYear;
110:
111: return new SingletonIterator(new isNew(bindings.p2));
112: }
113: };
114:
115: return iterator2;
116: }
117:
118: /**
119: * Method generated for query /isNew[in]
120: * @param slot1 input parameter generated from slot 0
121: * @return an iterator for instances of isNew
122: */
123: private static ResourceIterator<isNew> isNew_1_1(
124: final example.nz.org.take.compiler.userv.domainmodel.Car slot1,
125: final DerivationController _derivation) {
126: _derivation.log("AP_06", DerivationController.RULE, slot1);
127:
128: // Variable bindings in rule: IF equal(getModelYear(<car>),[NextYear]) THEN /isNew(<car>)
129: class bindingsInRule65 {
130: // Property generated for term "getModelYear(<car>)"
131: long p1;
132:
133: // Property generated for term "<car>"
134: example.nz.org.take.compiler.userv.domainmodel.Car p2;
135:
136: // Property generated for term "[NextYear]"
137: long p3;
138: }
139: ;
140:
141: final bindingsInRule65 bindings = new bindingsInRule65();
142: bindings.p1 = slot1.getModelYear();
143: bindings.p2 = slot1;
144: bindings.p3 = Constants.NextYear;
145:
146: // code for prereq equal(getModelYear(<car>),[NextYear])
147: final ResourceIterator<equal> iterator1 = KBFragement_equal_11
148: .equal_11(bindings.p1, Constants.NextYear, _derivation
149: .increaseDepth());
150:
151: // code for prereq /isNew(<car>)
152: final ResourceIterator<isNew> iterator2 = new NestedIterator<equal, isNew>(
153: iterator1) {
154: public ResourceIterator<isNew> getNextIterator(equal object) {
155: bindings.p1 = (long) object.slot1;
156: bindings.p3 = (long) Constants.NextYear;
157:
158: return new SingletonIterator(new isNew(bindings.p2));
159: }
160: };
161:
162: return iterator2;
163: }
164: }
|