view src/main/java/christie/datagear/command/Command.java @ 210:9a1d9c99e708

fix Command run to execute
author akahori
date Mon, 11 Mar 2019 16:45:37 +0900
parents 2ecb3a93b8ae
children e486c13d9ea9
line wrap: on
line source

package christie.datagear.command;

import christie.codegear.CodeGear;
import christie.daemon.Connection;
import christie.datagear.DataGearManager;
import christie.datagear.DataGears;
import christie.datagear.RemoteMessage;
import christie.datagear.command.CommandType;
import christie.datagear.dg.DataGear;

import java.nio.ByteBuffer;

public abstract class Command {
    public CommandType type;
    public String key;
    public String toDgmName;// for take
    public String fromDgmName = "local";//for remotetake/reply
    public int cgmID = 0;// for local meta
    public CodeGear cg = null;//for localtake
    public DataGear dg = null;//for put/localtake/reply
    public Class clazz = null;// for remote
    public Connection connection = null;//for reply

    public abstract void execute();
    //public abstract void run(Object dataGear);

    //for remote
    public abstract ByteBuffer convert();


    //for remote
    public RemoteMessage createRemoteMessage(){
        return new RemoteMessage(type.id, fromDgmName, key, clazz.getName());
    }

    public void setDg(Object obj){
        this.dg.setData(obj);
    }

    //public void removeInputs(){
        //cg.getIdg().removeInputs(key);
    //}
}