001package com.plivo.api.util;
002
003import com.fasterxml.jackson.databind.annotation.JsonSerialize;
004import com.plivo.api.serializers.PropertyFilterSerializer;
005
006@JsonSerialize(using = PropertyFilterSerializer.class)
007public class PropertyFilter<T> {
008
009  private T equalTo = null;
010  private T greaterThan = null;
011  private T greaterOrEqual = null;
012  private T lessThan = null;
013  private T lessOrEqual = null;
014
015  public T equalTo() {
016    return this.equalTo;
017  }
018
019  public T greaterThan() {
020    return this.greaterThan;
021  }
022
023  public T greaterOrEqual() {
024    return this.greaterOrEqual;
025  }
026
027  public T lessThan() {
028    return this.lessThan;
029  }
030
031  public T lessOrEqual() {
032    return this.lessOrEqual;
033  }
034
035  public PropertyFilter<T> equalTo(final T equalTo) {
036    this.equalTo = equalTo;
037    return this;
038  }
039
040  public PropertyFilter<T> greaterThan(final T greaterThan) {
041    this.greaterThan = greaterThan;
042    return this;
043  }
044
045  public PropertyFilter<T> greaterOrEqual(final T greaterOrEqual) {
046    this.greaterOrEqual = greaterOrEqual;
047    return this;
048  }
049
050  public PropertyFilter<T> lessThan(final T lessThan) {
051    this.lessThan = lessThan;
052    return this;
053  }
054
055  public PropertyFilter<T> lessOrEqual(final T lessOrEqual) {
056    this.lessOrEqual = lessOrEqual;
057    return this;
058  }
059}