/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.zowyapp.store.ui;

import java.io.Serializable;

/**
 *
 * @author dhaval
 */
public class FormField implements Serializable{

    private String name = "";
    private String type;
    private boolean mendatory;
    private String validator;
    private Object validatorData = "";
    private String note;
    private boolean primary;

    public FormField() {
        note = "For Numeric Range please enter min number-max number\nFor String length please enter >0 number\nFor Regular Expression please provide valid expression";
    }

    public FormField(String name, String type) {
        this.name = name;
        this.type = type;
    }

    public void setMendatory(boolean mendatory) {
        this.mendatory = mendatory;
    }

    public boolean isMendatory() {
        return mendatory;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @Override
    public boolean equals(Object obj) {
        if( ! (obj instanceof FormField) ){
            return false;
        }

        FormField  ff = (FormField) obj;
        if(ff.getName().equalsIgnoreCase(getName())){
            return true;
        }else{
            return false;
        }
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 41 * hash + (this.name != null ? this.name.hashCode() : 0);
        return hash;
    }

    public void setValidator(String validator) {
        this.validator = validator;
    }

    public void setValidatorData(Object validatorData) {
        this.validatorData = validatorData;
    }

    public String getValidator() {
        return validator;
    }

    public Object getValidatorData() {
        return validatorData;
    }

    public String getNote() {
        return note;
    }

    public void setPrimary(boolean primary) {
        this.primary = primary;
    }

    public boolean isPrimary() {
        return primary;
    }

}
