// ** This class was generated with DemFGen (vers:01/05/2008)

package gen;

import edu.neu.ccs.demeterf.demfgen.lib.*;
import edu.neu.ccs.demeterf.*;




public class Document{
    public final DocumentName documentName;
    public final List<Word> words;

    public Document(DocumentName documentName, List<Word> words){
        this.documentName = documentName;
        this.words = words;
    }
    public boolean equals(Object o){
        if(!(o instanceof Document))return false;
        Document oo = (Document)o;
        return (((Object)documentName).equals(oo.documentName))&&(((Object)words).equals(oo.words));
    }
    public static Document parse(String inpt) throws ParseException{
        return new TheParser(new java.io.StringReader(inpt)).parse_Document();
    }
    public static Document parse(java.io.InputStream inpt) throws ParseException{
        return new TheParser(inpt).parse_Document();
    }
    public static Document parse(java.io.Reader inpt) throws ParseException{
        return new TheParser(inpt).parse_Document();
    }

    public static class documentName extends edu.neu.ccs.demeterf.control.Fields.any{}
    public static class words extends edu.neu.ccs.demeterf.control.Fields.any{}

    public String display(){ return gen.Display.DisplayM(this); }
    public String print(){ return gen.Print.PrintM(this); }
    public String toStr(){ return gen.ToStr.ToStrM(this); }

}