// ** This file was generated with DemFGen (vers:12/15/2010)

package scg;

import edu.neu.ccs.demeterf.lib.*;
import java.lang.reflect.*;





/** Representation of SolveRequest */
public class SolveRequest extends Request{
    protected Instance instance;
    protected Option<Claim> claim;

    /** Construct a(n) SolveRequest Instance */
    public SolveRequest(Instance instance, Option<Claim> claim){
        this.instance = instance;
        this.claim = claim;
    }
    /** Is the given object Equal to this SolveRequest? */
    public boolean equals(Object o){
        if(!(o instanceof SolveRequest))return false;
        if(o == this)return true;
        SolveRequest oo = (SolveRequest)o;
        return (((Object)instance).equals(oo.instance))&&(((Object)claim).equals(oo.claim));
    }
    /** Parse an instance of SolveRequest from the given String */
    public static SolveRequest parse(String inpt) throws scg.ParseException{
        return new scg.TheParser(new java.io.StringReader(inpt)).parse_SolveRequest();
    }
    /** Parse an instance of SolveRequest from the given Stream */
    public static SolveRequest parse(java.io.InputStream inpt) throws scg.ParseException{
        return new scg.TheParser(inpt).parse_SolveRequest();
    }
    /** Parse an instance of SolveRequest from the given Reader */
    public static SolveRequest parse(java.io.Reader inpt) throws scg.ParseException{
        return new scg.TheParser(inpt).parse_SolveRequest();
    }

    /** Field Class for SolveRequest.instance */
    public static class instance extends edu.neu.ccs.demeterf.Fields.any{}
    /** Field Class for SolveRequest.claim */
    public static class claim extends edu.neu.ccs.demeterf.Fields.any{}

    /** DGP method from Class Print */
    public String print(){ return scg.Print.PrintM(this); }
    /** Setter for field SolveRequest.instance */
    public void setInstance(Instance _instance){ instance = _instance; }
    /** Setter for field SolveRequest.claim */
    public void setClaim(Option<Claim> _claim){ claim = _claim; }
    /** Getter for field SolveRequest.instance */
    public Instance getInstance(){ return instance; }
    /** Getter for field SolveRequest.claim */
    public Option<Claim> getClaim(){ return claim; }

}


