/*
* Rewriting.java
* --------------
* Records a rewriting.
* $Id: Rewriting.java,v 1.5 2000/11/13 07:51:51 chenli Exp $
*/
import java.util.*;
class Rewriting {
Query rew = null; // a rewriting is essentially a query
HashSet mcds = null; // the corresponding mcds
Mapping ec = null; // the EC function
HashSet viewTuples = null;
/**
* Creates a query given an id.
*/
Rewriting(Query rew, HashSet mcds, Mapping ec) {
this.rew = rew;
this.mcds = mcds;
this.ec = ec;
}
Rewriting(HashSet viewTuples, Query query) {
this.viewTuples = viewTuples;
Vector body = new Vector(); // body
for (Iterator iter = viewTuples.iterator(); iter.hasNext();) {
Tuple tuple = (Tuple) iter.next();
body.add(new Subgoal(tuple.getName(), tuple.getArgs()));
}
rew = new Query(query.getName(), query.getHead(), body);
}
public HashSet getViewTuples() {
return viewTuples;
}
public HashSet getMCDs() {
return mcds;
}
public String toString() {
/* return "rew:\n " + rew.toString() + "\n" +
"ec:\n " + ec + "\n" +
"mcds:\n " + mcds + "\n";*/
return rew.toString();
}
}