// ** 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 SymmetricMegaMove{
    public final MegaMove<White, Black> m1;
    public final MegaMove<Black, White> m2;

    public SymmetricMegaMove(MegaMove<White, Black> m1, MegaMove<Black, White> m2){
        this.m1 = m1;
        this.m2 = m2;
    }
    public boolean equals(Object o){
        if(!(o instanceof SymmetricMegaMove))return false;
        SymmetricMegaMove oo = (SymmetricMegaMove)o;
        return (((Object)m1).equals(oo.m1))&&(((Object)m2).equals(oo.m2));
    }
    public static SymmetricMegaMove parse(String inpt) throws ParseException{
        return new TheParser(new java.io.StringReader(inpt)).parse_SymmetricMegaMove();
    }
    public static SymmetricMegaMove parse(java.io.InputStream inpt) throws ParseException{
        return new TheParser(inpt).parse_SymmetricMegaMove();
    }
    public static SymmetricMegaMove parse(java.io.Reader inpt) throws ParseException{
        return new TheParser(inpt).parse_SymmetricMegaMove();
    }

    public static class m1 extends edu.neu.ccs.demeterf.control.Fields.any{}
    public static class m2 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); }

}