
/**
 * Strips_op.java
 * an operator in strips
 * with add list, delete list, preconditions, act list
 * all these are MstringVectors, for matching
 * Created: Wed Jan 10 20:21:50 2001
 *
 * @author 
 * @version
 */

import java.util.*;
import java.io.*;
import MString;
import MStringVector;

public class Strips_op {

  private MStringVector add_list;
  private MStringVector del_list;
  private MStringVector preconds;
  private MStringVector act_list;

  //accessors
  public MStringVector getAdd_list() {return add_list;}
  public MStringVector getDel_list() {return del_list;}
  public MStringVector getPreconds() {return preconds;}
  public MStringVector getAct_list() {return act_list;}


  //constructor reads the operator from file given op name as a string
  //looks for 4 files: name_add_list.txt etc

  public Strips_op(String oname){
    add_list=readPatts(oname+"_add_list.txt");
    del_list=readPatts(oname+"_del_list.txt");
    preconds=readPatts(oname+"_preconds.txt");
    act_list=readPatts(oname+"_act_list.txt");
  }

  // read op component from file as vector of strings

  private MStringVector readPatts(String fname){
    File f = new File(fname);
    MStringVector res = new MStringVector();
    try {
      BufferedReader reader = new BufferedReader(new FileReader(f));
      String s;
      while ((s = reader.readLine()) != null) res.add(s);
    } catch (IOException ex) { ex.printStackTrace(); }
    return(res);
  }
}
