![JAR search and dependency download from the Maven repository](/logo.png)
com.genability.client.api.service.AccountService Maven / Gradle / Ivy
package com.genability.client.api.service;
import java.text.MessageFormat;
import com.fasterxml.jackson.core.type.TypeReference;
import com.genability.client.api.request.DeleteAccountRequest;
import com.genability.client.api.request.GetAccountRatesRequest;
import com.genability.client.api.request.GetAccountRequest;
import com.genability.client.api.request.GetAccountTariffsRequest;
import com.genability.client.api.request.GetAccountsRequest;
import com.genability.client.types.Account;
import com.genability.client.types.PropertyData;
import com.genability.client.types.Response;
import com.genability.client.types.Tariff;
import com.genability.client.types.TariffRate;
public class AccountService extends BaseService {
private static final TypeReference> ACCOUNT_RESPONSE_TYPEREF = new TypeReference>() {};
private static final TypeReference> PROPERTY_DATA_RESPONSE_TYPEREF = new TypeReference>() {
};
private static final TypeReference> TARIFF_RATE_RESPONSE_TYPEREF = new TypeReference>() {
};
private static final TypeReference> TARIFF_RESPONSE_TYPEREF = new TypeReference>() {
};
public Response getAccounts(GetAccountsRequest request)
{
if(log.isDebugEnabled()) log.debug("getAccounts called");
Response response = this.callGet(
"v1/accounts",
request.getQueryParams(),
ACCOUNT_RESPONSE_TYPEREF);
if(log.isDebugEnabled()) log.debug("getAccounts completed");
return response;
}
public Response getAccount(GetAccountRequest request)
{
if(log.isDebugEnabled()) log.debug("getAccount called");
String uri = "v1/accounts";
if (request.getAccountId() != null && request.getAccountId().length() !=0) {
uri += "/" + request.getAccountId();
}
Response response = this.callGet(
uri,
request.getQueryParams(),
ACCOUNT_RESPONSE_TYPEREF);
if(log.isDebugEnabled()) log.debug("getAccount completed");
return response;
}
public Response deleteAccount(DeleteAccountRequest request) {
if (log.isDebugEnabled())
log.debug("deleteAccount called");
String uri = "v1/accounts";
if (request.getAccountId() != null
&& request.getAccountId().length() != 0) {
uri += "/" + request.getAccountId();
}
Response response = this.callDelete(uri,
request.getQueryParams(), ACCOUNT_RESPONSE_TYPEREF);
if (log.isDebugEnabled())
log.debug("deleteAccount completed");
return response;
}
public Response getAccountProperties(GetAccountRequest request) {
if (log.isDebugEnabled())
log.debug("getAccountProperties called");
String uri = "v1/accounts";
if (request.getAccountId() != null
&& request.getAccountId().length() != 0) {
uri += "/" + request.getAccountId();
uri += "/properties";
}
Response response = this.callGet(uri,
request.getQueryParams(), PROPERTY_DATA_RESPONSE_TYPEREF);
if (log.isDebugEnabled())
log.debug("getAccountProperties completed");
return response;
}
public Response addAccount(Account account) {
if(log.isDebugEnabled()) log.debug("addAccount called");
Response response = this.callPost("v1/accounts",
account,
ACCOUNT_RESPONSE_TYPEREF);
if(log.isDebugEnabled()) log.debug("addAccount completed");
return response;
}
public Response updateAccount(Account account) {
if (log.isDebugEnabled())
log.debug("updateAccount called");
String uri = "v1/accounts";
if (account.getAccountId() != null
&& account.getAccountId().length() != 0) {
uri += "/" + account.getAccountId();
}
Response response = this.callPut(uri, account,
ACCOUNT_RESPONSE_TYPEREF);
if (log.isDebugEnabled())
log.debug("updateAccount completed");
return response;
}
public Response interviewAccount(String accountId,
PropertyData interviewAnswer) {
if (log.isDebugEnabled())
log.debug("interviewAccount called");
String uri = "v1/accounts/{0}/interview";
if (accountId != null && accountId.length() != 0) {
uri = MessageFormat.format(uri, accountId);
}
// Workaround so the route catches. A null request payload will hit the
// wrong route.
if (interviewAnswer == null) {
interviewAnswer = new PropertyData();
}
Response response = this.callPut(uri, interviewAnswer,
PROPERTY_DATA_RESPONSE_TYPEREF);
if (log.isDebugEnabled())
log.debug("interviewAccount completed");
return response;
}
public Response getAccountRates(GetAccountRatesRequest request) {
if (log.isDebugEnabled())
log.debug("getAccountRates called");
String uri = "v1/accounts/{0}/rates";
if (request.getAccountId() != null
&& request.getAccountId().length() != 0) {
uri = MessageFormat.format(uri, request.getAccountId());
}
Response response = this.callGet(uri,
request.getQueryParams(), TARIFF_RATE_RESPONSE_TYPEREF);
if (log.isDebugEnabled())
log.debug("getAccountRates completed");
return response;
}
public Response getAccountTariffs(GetAccountTariffsRequest request) {
if (log.isDebugEnabled())
log.debug("getAccountTariffs called");
String uri = "v1/accounts/{0}/tariffs";
if (request.getAccountId() != null
&& request.getAccountId().length() != 0) {
uri = MessageFormat.format(uri, request.getAccountId());
}
Response response = this.callGet(uri, request.getQueryParams(),
TARIFF_RESPONSE_TYPEREF);
if (log.isDebugEnabled())
log.debug("getAccountTariffs completed");
return response;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy