package prefuse.visual.expression;
import prefuse.Visualization;
import prefuse.data.Schema;
import prefuse.data.Tuple;
import prefuse.data.search.SearchTupleSet;
import prefuse.visual.VisualItem;
/**
* Expression that returns the current query string of a data group of the type
* {@link prefuse.data.search.SearchTupleSet}. The data group name is provided
* by a String-valued sub-expression.
*
* @author <a href="http://jheer.org">jeffrey heer</a>
*/
public class QueryExpression extends GroupExpression {
/**
* Create a new QueryExpression.
*/
public QueryExpression() {
super();
}
/**
* Create a new QueryExpression.
* @param group @param group the data group name to use as a parameter
*/
public QueryExpression(String group) {
super(group);
}
/**
* @see prefuse.data.expression.Function#getName()
*/
public String getName() {
return "QUERY";
}
/**
* @see prefuse.data.expression.Expression#getType(prefuse.data.Schema)
*/
public Class getType(Schema s) {
return String.class;
}
/**
* @see prefuse.data.expression.Expression#get(prefuse.data.Tuple)
*/
public Object get(Tuple t) {
VisualItem item = (VisualItem)t;
Visualization vis = item.getVisualization();
String group = getGroup(t);
SearchTupleSet sts = (SearchTupleSet)vis.getGroup(group);
return sts.getQuery();
}
} // end of class QueryExpression