package com.bytesw.bytebot.bean;

import com.bytesw.bytebot.model.ChannelParam;
import com.google.gson.annotations.Expose;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * @author Sebastian Chicoma Sandmann
 * @version 10-sep-2020
 * <p>
 * Copyright (c) 2020 Byte, S.A. Todos los derechos reservados.
 * <p>
 * Este software constituye información confidencial y propietaria de Byte, S.A.
 * ("Información Confidencial"). Usted no debe develar dicha Información
 * Confidencial y debe usarla de acuerdo con los términos de aceptación de
 * licencia de uso que firmó con Byte.
 */
@Getter
@Setter
@ToString
public class ChannelParamBean {

    @Expose
    private String name;

    @Expose
    private String label;

    @Expose
    private Integer maxlength;

    @Expose
    private String type;

    @Expose
    private Boolean required;

    @Expose
    private Integer order;

    @Expose
    private String traductions;

    @Expose
    private String regex;

    public static ChannelParamBean clone(ChannelParam channelParam) {
        ChannelParamBean bean = new ChannelParamBean();

        bean.setName(channelParam.getName());
        bean.setLabel(channelParam.getLabel());
        bean.setMaxlength(channelParam.getMaxlength());
        bean.setRequired(channelParam.isRequired());
        bean.setType(channelParam.getType());
        bean.setOrder(channelParam.getOrder());
        bean.setTraductions(channelParam.getTraductions());
            bean.setRegex(channelParam.getRegex());

        return bean;
    }
}
