001package com.plivo.api.models.number; 002 003import com.plivo.api.models.base.Updater; 004import com.plivo.api.util.Utils; 005import retrofit2.Call; 006 007public class NumberUpdater extends Updater<NumberUpdateResponse> { 008 009 private String appId; 010 private String subaccount; 011 private String alias; 012 private String cnamLookup; 013 014 NumberUpdater(final String number) { 015 super(number); 016 } 017 018 public String appId() { 019 return this.appId; 020 } 021 022 public String subaccount() { 023 return this.subaccount; 024 } 025 026 public String alias() { 027 return this.alias; 028 } 029 030 public String cnamLookup() { 031 return this.cnamLookup; 032 } 033 034 public NumberUpdater appId(final String appId) { 035 this.appId = appId; 036 return this; 037 } 038 039 public NumberUpdater subaccount(final String subaccount) { 040 this.subaccount = subaccount; 041 return this; 042 } 043 044 public NumberUpdater alias(final String alias) { 045 this.alias = alias; 046 return this; 047 } 048 public NumberUpdater cnamLookup(final String cnamLookup) { 049 this.cnamLookup = cnamLookup; 050 return this; 051 } 052 053 @Override 054 protected void validate() { 055 if (!Utils.anyNotNull(alias, subaccount, appId, cnamLookup)) { 056 throw new IllegalStateException("one of alias, subaccount, appId, cnamLookup must be non-null"); 057 } 058 super.validate(); 059 } 060 061 @Override 062 protected Call<NumberUpdateResponse> obtainCall() { 063 return client().getApiService().numberUpdate(client().getAuthId(), id, this); 064 } 065}