package cn.estsh.i3plus.ext.mes.pcn.apiservice.util.reader;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ns
 * @create 2022/1/10 0010 下午 18:29
 */
public abstract class IBaseCommandParam {


    /**
     * 把当前实现的接口属性转换成 byte数组,也可以用反射，但是当前参数长度固定的话可以不用反射
     * @return
     */
    public Byte[] toByteArray(){
        return this.toByteList().toArray(new Byte[]{});
    };

    /**
     * 把当前实现的接口属性转换成 byte数组,也可以用反射，但是当前参数长度固定的话可以不用反射
     * @return
     */
    protected List<Byte> toByteList(){
        List<Byte> byteList = new ArrayList<Byte>();
        byteList.add(ReaderConstWords.BYTE_ZERO);
        return byteList;
    };

    /**
     * 获取包的有效长度
     * @return
     */
    protected int getLength(){
        return 0;
    }
}
