📄 queryresults.java
字号:
package org.drools;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
import org.drools.rule.Declaration;
import org.drools.rule.Query;
import org.drools.spi.Tuple;
public class QueryResults {
private Query query;
private Map declarations;
protected List results;
protected WorkingMemory workingMemory;
public QueryResults(final List results,
final Query query,
final WorkingMemory workingMemory) {
this.results = results;
this.query = query;
this.workingMemory = workingMemory;
}
public QueryResult get(final int i) {
if ( i > this.results.size() ) {
throw new NoSuchElementException();
}
return new QueryResult( (Tuple) this.results.get( i ),
this.workingMemory,
this );
}
public Iterator iterator() {
return new QueryResultsIterator( this.results.iterator() );
}
public Map getDeclarations() {
final Declaration[] declarations = this.query.getDeclarations();
final Map map = new HashMap( declarations.length );
for ( int i = 0, length = declarations.length; i < length; i++ ) {
map.put( declarations[i].getIdentifier(),
declarations[i] );
}
this.declarations = map;
return this.declarations;
}
public int size() {
return this.results.size();
}
class QueryResultsIterator
implements
Iterator {
private Iterator iterator;
public QueryResultsIterator(final Iterator iterator) {
this.iterator = iterator;
}
public boolean hasNext() {
return this.iterator.hasNext();
}
public Object next() {
return new QueryResult( (Tuple) this.iterator.next(),
QueryResults.this.workingMemory,
QueryResults.this );
}
public void remove() {
this.iterator.remove();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -