001package com.plivo.api.models.powerpack; 002 003import com.plivo.api.models.base.Getter; 004import com.plivo.api.models.base.ListResponse; 005import com.plivo.api.models.number.PhoneNumber; 006import retrofit2.Call; 007 008public class BuyAddNumbers extends Getter<Numbers> { 009 010 private String number; 011 private String uuid; 012 private String country_Iso2; 013 private String service; 014 private Boolean rent; 015 016 public BuyAddNumbers(String uuid) { 017 super(uuid); 018 if (uuid == null) { 019 throw new IllegalArgumentException("numberpool uuid cannot be null"); 020 } 021 this.uuid = uuid; 022 this.rent = Boolean.TRUE; 023 } 024 025 public BuyAddNumbers country_Iso2(String country_Iso2) { 026 this.country_Iso2 = country_Iso2; 027 return this; 028 } 029 030 public BuyAddNumbers rent() { 031 this.rent = Boolean.TRUE; 032 return this; 033 } 034 035 public BuyAddNumbers number(String number) { 036 this.number = number; 037 return this; 038 } 039 040 public BuyAddNumbers service(String service) { 041 this.service = service; 042 return this; 043 } 044 045 @Override 046 protected Call<Numbers> obtainCall() { 047 if (number == null) { 048 try { 049 ListResponse<PhoneNumber> numbers = PhoneNumber.lister(country_Iso2).list(); 050 if (numbers.getObjects().size() > 0) { 051 number = numbers.getObjects().get(0).getNumber(); 052 } 053 } catch (Exception e) { 054 } 055 } 056 return client().getApiService().powerpackBuyAddNumberCreate(client().getAuthId(), uuid, number, this); 057 } 058}