package cn.estsh.i3plus.pojo.bsp.server.bean.po;

import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.List;

/**
 * @Description :
 * @Reference :
 * @Author : Castle
 * @CreateDate : 2021/6/16 13:39
 * @Modify:
 **/
@Table(name = "EXECUTOR_REGISTRY_METHOD_INFO")
@Entity
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("方法注册信息")
public class ExecutorRegistryMethodInfo extends BaseBean implements Serializable {
    private static final long serialVersionUID = 2096630767822598366L;

    @Column(name = "METHOD_NAME")
    @ApiModelProperty("方法名")
    private String methodName;

    @Column(name = "METHOD_HANDLER_KEY")
    @ApiModelProperty("调用方法需要的key")
    private String methodHandlerKey;

    @Column(name = "BEAN_NAME")
    @ApiModelProperty("beanName")
    private String beanName;

    @Column(name = "VERSION")
    @ApiModelProperty("方法的版本号")
    private String version;

    @Column(name = "APP_NAME")
    @ApiModelProperty("所属执行器的appName")
    private String appName;

    @Column(name = "description")
    @ApiModelProperty("方法描述")
    private String description;

    @Transient
    @ApiModelProperty("方法参数列表")
    private List<ExecutorRegistryParamInfo> paramInfos;

}
