001package com.plivo.api.serializers; 002 003import com.fasterxml.jackson.core.JsonGenerator; 004import com.fasterxml.jackson.core.JsonProcessingException; 005import com.fasterxml.jackson.databind.JsonSerializer; 006import com.fasterxml.jackson.databind.SerializerProvider; 007import com.plivo.api.util.PropertyFilter; 008import java.io.IOException; 009 010public class PropertyFilterSerializer<T> extends JsonSerializer<PropertyFilter<T>> { 011 012 @Override 013 public void serialize(PropertyFilter<T> value, JsonGenerator gen, SerializerProvider serializers) 014 throws IOException, JsonProcessingException { 015 gen.writeStartObject(); 016 if (value.equalTo() != null) { 017 gen.writeObjectField("", value.equalTo()); 018 } 019 if (value.greaterThan() != null) { 020 gen.writeObjectField("__gt", value.greaterThan()); 021 } 022 if (value.greaterOrEqual() != null) { 023 gen.writeObjectField("__gte", value.greaterOrEqual()); 024 } 025 if (value.lessThan() != null) { 026 gen.writeObjectField("__lt", value.lessThan()); 027 } 028 if (value.lessOrEqual() != null) { 029 gen.writeObjectField("__lte", value.lessOrEqual()); 030 } 031 gen.writeEndObject(); 032 } 033}