package com.fullcontact.api.libs.fullcontact4j.http.misc; import com.fullcontact.api.libs.fullcontact4j.FullContactApi; import com.fullcontact.api.libs.fullcontact4j.Utils; import com.fullcontact.api.libs.fullcontact4j.http.FCRequest; import retrofit.Callback; public class DisposableEmailRequest extends FCRequest<DisposableEmailResponse> { private final String email; public DisposableEmailRequest(String email) { super(null); this.email = email; } @Override protected void makeRequest(FullContactApi api, Callback<DisposableEmailResponse> callback) { api.getDisposableEmail(email, callback); } public static class Builder extends BaseBuilder<Builder, DisposableEmailRequest> { private String email; @Override protected DisposableEmailRequest createInstance() { return new DisposableEmailRequest(email); } public Builder email(String email) { this.email = email; return this; } @Override protected void validate() { if(!Utils.isValidEmail(email)) { throw new IllegalArgumentException("Email is not of a valid format"); } } protected Builder self() { return this; } } }