package uk.ac.imperial.lsds.seep.comm.protocol; public class WorkerWorkerCommand implements SeepCommand { private short type; private AckCommand ac; private CrashCommand cc; private RequestDataReferenceCommand rdrc; public WorkerWorkerCommand(){} public WorkerWorkerCommand(CommandType ct){ short type = ct.type(); this.type = type; if(type == WorkerWorkerProtocolAPI.ACK.type()){ this.ac = (AckCommand)ct; } else if(type == WorkerWorkerProtocolAPI.CRASH.type()){ this.cc = (CrashCommand)ct; } else if(type == WorkerWorkerProtocolAPI.REQUEST_DATAREF.type()){ this.rdrc = (RequestDataReferenceCommand)ct; } else{ try { throw new Exception("NOT DEFINED CLASS HERE !!!"); } catch (Exception e) { e.printStackTrace(); System.out.println("ERROR: "+e.getMessage()); } } } @Override public short familyType() { return CommandFamilyType.WORKERCOMMAND.ofType(); } public short type(){ return type; } public AckCommand getAckCommand(){ return ac; } public CrashCommand getCrashCommand(){ return cc; } public RequestDataReferenceCommand getRequestDataReferenceCommand() { return rdrc; } }