package com.eactive.eai.rms.onl.manage.rule.transformfunc.ui;

import java.util.List;

import javax.validation.Valid;
import javax.validation.constraints.Min;

import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.validation.annotation.Validated;

import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;

@Data
@Validated
public class TransformFuncUI {
	/**
	 * 볌환함수 명
	 */
	@JsonProperty("CNVSNFUNTNNAME")
	@NotEmpty
	private String cnvsnFuntnName;

	/**
	 * 볌환함수 설명
	 */
	@JsonProperty("CNVSNFUNTNDESC")
	private String cnvsnFuntnDesc;

	/**
	 * 변환함수 클래스 명
	 */
	@JsonProperty("CNVSNFUNTNCLSNAME")
	private String cnvsnFuntnClsName;

	/**
	 * 변환함수 반환유형 ID명
	 */
	@JsonProperty("CNVSNFUNTNRETUNPTRNIDNAME")
	@Min(value = 0, message = "변환함수 반환유형 ID명은 0보다 커야 합니다.")
    private Integer cnvsnFuntnRetunPtrnIdName;

	/**
	 * 변환함수 유형ID명
	 */
	@JsonProperty("CNVSNFUNTNPTRNIDNAME")
	@Min(value = 0, message = "변환함수 유형ID명은 0보다 커야 합니다.")
    private Integer cnvsnFuntnPtrnIdName;
	

	@JsonProperty("parameters")
	@Valid
	private List<TransformFuncParamUI> parameters;
	
}
