private String key;
private EntityAdapterModel model;
private String definition;
+ private String skip;
+ private String limit;
public EntityEnumeratingProducerNode(
String aKey,
EntityAdapterModel aModel, String aDefinition,
ProducerNode aSubNode) {
-
super(aSubNode);
defaultVerb = null;
EntityAdapterModel aModel, String aDefinition,
String aDefaultWhereClause, String aDefaultOrderByClause,
ProducerNode aSubNode) {
+ this(aKey, aModel, aDefinition, aDefaultWhereClause, aDefaultOrderByClause, "", "", aSubNode);
+ }
+
+ public EntityEnumeratingProducerNode(
+ String aKey,
+ EntityAdapterModel aModel, String aDefinition,
+ String aDefaultWhereClause, String aDefaultOrderByClause,
+ String aLimit, String aSkip,
+ ProducerNode aSubNode) {
this(aKey, aModel, aDefinition, aSubNode);
+ limit= aLimit;
+ skip = aSkip;
defaultVerb = new EntityEnumeratingProducerNodeVerb(aDefaultWhereClause, aDefaultOrderByClause);
}
browser = new EntityIteratorAdapter(
ParameterExpander.expandExpression( aValueMap, verb.whereClause ),
ParameterExpander.expandExpression( aValueMap, verb.orderByClause ),
- -1,
+ 100,
model,
- definition );
+ definition,
+ ParameterExpander.evaluateIntegerExpressionWithDefault( aValueMap, limit, -1),
+ ParameterExpander.evaluateIntegerExpressionWithDefault( aValueMap, skip, 0));
while (browser.hasNext()) {
- aValueMap.put(key, browser.next());
+ ParameterExpander.setValueForKey( aValueMap, key, browser.next());
super.produce(aValueMap, aVerb, aLogger);
}
}