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}