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

package gen;

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





/** Representation of SCG_Playground */
public class SCG_Playground{
    protected final SCG_Domain d;
    protected final SCG_Protocol p;
    protected final SCG_Claim claim;

    /** Construct a(n) SCG_Playground Instance */
    public SCG_Playground(SCG_Domain d, SCG_Protocol p, SCG_Claim claim){
        this.d = d;
        this.p = p;
        this.claim = claim;
    }
    /** Is the given object Equal to this SCG_Playground? */
    public boolean equals(Object o){
        if(!(o instanceof SCG_Playground))return false;
        if(o == this)return true;
        SCG_Playground oo = (SCG_Playground)o;
        return (((Object)d).equals(oo.d))&&(((Object)p).equals(oo.p))&&(((Object)claim).equals(oo.claim));
    }
    /** Parse an instance of SCG_Playground from the given String */
    public static SCG_Playground parse(String inpt) throws gen.ParseException{
        return new gen.TheParser(new java.io.StringReader(inpt)).parse_SCG_Playground();
    }
    /** Parse an instance of SCG_Playground from the given Stream */
    public static SCG_Playground parse(java.io.InputStream inpt) throws gen.ParseException{
        return new gen.TheParser(inpt).parse_SCG_Playground();
    }
    /** Parse an instance of SCG_Playground from the given Reader */
    public static SCG_Playground parse(java.io.Reader inpt) throws gen.ParseException{
        return new gen.TheParser(inpt).parse_SCG_Playground();
    }

    /** Field Class for SCG_Playground.d */
    public static class d extends edu.neu.ccs.demeterf.Fields.any{}
    /** Field Class for SCG_Playground.p */
    public static class p extends edu.neu.ccs.demeterf.Fields.any{}
    /** Field Class for SCG_Playground.claim */
    public static class claim extends edu.neu.ccs.demeterf.Fields.any{}

    /** DGP method from Class Display */
    public String display(){ return gen.Display.DisplayM(this); }
    /** DGP method from Class Print */
    public String print(){ return gen.Print.PrintM(this); }
    /** DGP method from Class ToStr */
    public String toStr(){ return gen.ToStr.ToStrM(this); }
    /** Updater for field SCG_Playground.d */
    public SCG_Playground updateD(SCG_Domain _d){
        return new SCG_Playground(_d, p, claim);
    }
    /** Updater for field SCG_Playground.p */
    public SCG_Playground updateP(SCG_Protocol _p){
        return new SCG_Playground(d, _p, claim);
    }
    /** Updater for field SCG_Playground.claim */
    public SCG_Playground updateClaim(SCG_Claim _claim){
        return new SCG_Playground(d, p, _claim);
    }
    /** Getter for field SCG_Playground.d */
    public SCG_Domain getD(){ return d; }
    /** Getter for field SCG_Playground.p */
    public SCG_Protocol getP(){ return p; }
    /** Getter for field SCG_Playground.claim */
    public SCG_Claim getClaim(){ return claim; }

}