001package com.plivo.api.models.verify_session; 002 003import com.plivo.api.exceptions.PlivoRestException; 004import com.plivo.api.models.base.ListResponse; 005import com.plivo.api.util.PropertyFilter; 006import retrofit2.Call; 007import retrofit2.Response; 008 009import com.plivo.api.models.base.Lister; 010 011import java.io.IOException; 012import java.lang.reflect.Field; 013import java.util.Date; 014 015public class SessionLister extends Lister<VerifySessionList> { 016 private String subaccount = null; 017 private PropertyFilter<Date> sessionTime = null; 018 private String status = null; 019 private String country = null; 020 private String alias = null; 021 private String appUuid = null; 022 private String recipient = null; 023 public String subaccount() { 024 return this.subaccount; 025 } 026 public String status() { 027 return this.status; 028 } 029 public String country() { 030 return this.country; 031 } 032 public String alias() { 033 return this.alias; 034 } 035 public String appUuid() { 036 return this.appUuid; 037 } 038 public String recipient() { 039 return this.recipient; 040 } 041 public PropertyFilter<Date> sessionTime() { 042 return this.sessionTime; 043 } 044 public SessionLister subaccount(final String subaccount) { 045 this.subaccount = subaccount; 046 return this; 047 } 048 public SessionLister status(final String status) { 049 this.status = status; 050 return this; 051 } 052 public SessionLister country(final String country) { 053 this.country = country; 054 return this; 055 } 056 public SessionLister alias(final String alias) { 057 this.alias = alias; 058 return this; 059 } 060 public SessionLister appUuid(final String appUuid) { 061 this.appUuid = appUuid; 062 return this; 063 } 064 public SessionLister recipient(final String recipient) { 065 this.recipient = recipient; 066 return this; 067 } 068 public SessionLister sessionTime(final PropertyFilter<Date> sessionTime) { 069 this.sessionTime = sessionTime; 070 return this; 071 } 072 @Override 073 /** 074 * Actually list instances of the resource. 075 */ 076 public ListResponse<VerifySessionList> list() throws IOException, PlivoRestException { 077 validate(); 078 Response<ListResponse<VerifySessionList>> response = obtainCall().execute(); 079 handleResponse(response); 080 081 try 082 { 083 Field meta = response.body().getClass().getDeclaredField("meta"); 084 meta.setAccessible(true); 085 meta.set(response.body(), new SessionMeta(response.body().getMeta())); 086 } 087 catch(Exception e) 088 { 089 e.printStackTrace(); 090 } 091 092 return response.body(); 093 } 094 095 @Override 096 protected Call<ListResponse<VerifySessionList>> obtainCall() { 097 return client().getApiService().sessionList(client().getAuthId(), toMap()); 098 } 099 100}