package com.eactive.testmaster.client.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "API_LAYOUT_ITEM")
public class ApiLayoutItem {

    @ManyToOne
    @JoinColumn(name = "API_LAYOUT_ID", nullable = false)
    private ApiLayout apiLayout; // This is the back-reference to the parent

    @Id
    @Column(name = "API_LAYOUT_ITEM_ID")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long itemId;

    private Long id;

    private Long parent;

    private Integer level;

    private String loutName;

    private Integer loutItemSerno;

    private String loutItemName;

    private String loutItemDesc;

    private Integer loutItemDepth;

    private String loutItemType;

    private String loutItemOccCnt;

    private String loutItemOccRef;

    private String loutItemDataType;

    private Integer loutItemLength;

    private Integer loutItemDecimal;

    private String loutItemDefault;

    private String loutItemMaskYn;

    private Integer loutItemMaskOffset;

    private Integer loutItemMaskLength;

    private Integer parentLoutItemIndex;

    private Boolean expanded;

    private Boolean isLeaf;

    private String loutItemPath;

    @Lob
    private String value;

    public Long getItemId() {
        return itemId;
    }

    public void setItemId(Long itemId) {
        this.itemId = itemId;
    }

    public ApiLayout getApiLayout() {
        return apiLayout;
    }

    public void setApiLayout(ApiLayout apiLayout) {
        this.apiLayout = apiLayout;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getParent() {
        return parent;
    }

    public void setParent(Long parent) {
        this.parent = parent;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public String getLoutName() {
        return loutName;
    }

    public void setLoutName(String loutName) {
        this.loutName = loutName;
    }

    public Integer getLoutItemSerno() {
        return loutItemSerno;
    }

    public void setLoutItemSerno(Integer loutItemSerno) {
        this.loutItemSerno = loutItemSerno;
    }

    public String getLoutItemName() {
        return loutItemName;
    }

    public void setLoutItemName(String loutItemName) {
        this.loutItemName = loutItemName;
    }

    public String getLoutItemDesc() {
        return loutItemDesc;
    }

    public void setLoutItemDesc(String loutItemDesc) {
        this.loutItemDesc = loutItemDesc;
    }

    public Integer getLoutItemDepth() {
        return loutItemDepth;
    }

    public void setLoutItemDepth(Integer loutItemDepth) {
        this.loutItemDepth = loutItemDepth;
    }

    public String getLoutItemType() {
        return loutItemType;
    }

    public void setLoutItemType(String loutItemType) {
        this.loutItemType = loutItemType;
    }

    public String getLoutItemOccCnt() {
        return loutItemOccCnt;
    }

    public void setLoutItemOccCnt(String loutItemOccCnt) {
        this.loutItemOccCnt = loutItemOccCnt;
    }

    public String getLoutItemOccRef() {
        return loutItemOccRef;
    }

    public void setLoutItemOccRef(String loutItemOccRef) {
        this.loutItemOccRef = loutItemOccRef;
    }

    public String getLoutItemDataType() {
        return loutItemDataType;
    }

    public void setLoutItemDataType(String loutItemDataType) {
        this.loutItemDataType = loutItemDataType;
    }

    public Integer getLoutItemLength() {
        return loutItemLength;
    }

    public void setLoutItemLength(Integer loutItemLength) {
        this.loutItemLength = loutItemLength;
    }

    public Integer getLoutItemDecimal() {
        return loutItemDecimal;
    }

    public void setLoutItemDecimal(Integer loutItemDecimal) {
        this.loutItemDecimal = loutItemDecimal;
    }

    public String getLoutItemDefault() {
        return loutItemDefault;
    }

    public void setLoutItemDefault(String loutItemDefault) {
        this.loutItemDefault = loutItemDefault;
    }

    public String getLoutItemMaskYn() {
        return loutItemMaskYn;
    }

    public void setLoutItemMaskYn(String loutItemMaskYn) {
        this.loutItemMaskYn = loutItemMaskYn;
    }

    public Integer getLoutItemMaskOffset() {
        return loutItemMaskOffset;
    }

    public void setLoutItemMaskOffset(Integer loutItemMaskOffset) {
        this.loutItemMaskOffset = loutItemMaskOffset;
    }

    public Integer getLoutItemMaskLength() {
        return loutItemMaskLength;
    }

    public void setLoutItemMaskLength(Integer loutItemMaskLength) {
        this.loutItemMaskLength = loutItemMaskLength;
    }

    public Integer getParentLoutItemIndex() {
        return parentLoutItemIndex;
    }

    public void setParentLoutItemIndex(Integer parentLoutItemIndex) {
        this.parentLoutItemIndex = parentLoutItemIndex;
    }

    public Boolean getExpanded() {
        return expanded;
    }

    public void setExpanded(Boolean expanded) {
        this.expanded = expanded;
    }

    public Boolean getLeaf() {
        return isLeaf;
    }

    public void setLeaf(Boolean leaf) {
        isLeaf = leaf;
    }

    public String getLoutItemPath() {
        return loutItemPath;
    }

    public void setLoutItemPath(String loutItemPath) {
        this.loutItemPath = loutItemPath;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
