001package com.plivo.api.models.message;
002
003import com.plivo.api.models.base.ListResponse;
004import com.plivo.api.models.base.Lister;
005import com.plivo.api.util.PropertyFilter;
006import java.util.Date;
007import retrofit2.Call;
008
009/**
010 * Pending list request that can be executed by calling list();
011 */
012public class MessageLister extends Lister<Message> {
013
014  private String subaccount = null;
015  private MessageDirection messageDirection = null;
016  private PropertyFilter<Date> messageTime = null;
017  private MessageState messageState = null;
018  private Long errorCode = null;
019
020  public String subaccount() {
021    return this.subaccount;
022  }
023
024  public MessageDirection messageDirection() {
025    return this.messageDirection;
026  }
027
028  public PropertyFilter<Date> messageTime() {
029    return this.messageTime;
030  }
031
032  public MessageState messageState() {
033    return this.messageState;
034  }
035
036  public Long errorCode() {
037    return this.errorCode;
038  }
039
040  public MessageLister subaccount(final String subaccount) {
041    this.subaccount = subaccount;
042    return this;
043  }
044
045  public MessageLister messageDirection(
046    final MessageDirection messageDirection) {
047    this.messageDirection = messageDirection;
048    return this;
049  }
050
051  public MessageLister messageTime(final PropertyFilter<Date> messageTime) {
052    this.messageTime = messageTime;
053    return this;
054  }
055
056  public MessageLister messageState(final MessageState messageState) {
057    this.messageState = messageState;
058    return this;
059  }
060
061  public MessageLister errorCode(final Long errorCode) {
062    this.errorCode = errorCode;
063    return this;
064  }
065
066
067  @Override
068  protected Call<ListResponse<Message>> obtainCall() {
069    return client().getApiService().messageList(client().getAuthId(), toMap());
070  }
071}