package com.fira.one.universel.criteria;

public class SearchCriteria {

    private String key;

    private String operation;

    private Object value;

    private boolean orPredicate;

    private boolean subReference;

    public static final String SUB_REFERENCE_SEP = ".";
    public static final String SUB_REFERENCE_SEP_SPLIT = "\\.";

    public SearchCriteria(String key, String operation, Object value, boolean orPredicate) {
        this.key = key;
        this.operation = operation;
        this.value = value;
        this.orPredicate = orPredicate;
        this.subReference = key.contains(SearchCriteria.SUB_REFERENCE_SEP);
    }


    public String getKey() {
        return this.key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getOperation() {
        return this.operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }

    public Object getValue() {
        return this.value;
    }

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

    public boolean isOrPredicate() {
        return this.orPredicate;
    }

    public boolean getOrPredicate() {
        return this.orPredicate;
    }

    public void setOrPredicate(boolean orPredicate) {
        this.orPredicate = orPredicate;
    }

    public boolean isSubReference() {
        return this.subReference;
    }

    public boolean getSubReference() {
        return this.subReference;
    }

    public void setSubReference(boolean subReference) {
        this.subReference = subReference;
    }

}