public class ApiDefinition
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ApiDefinition.ApiReturnFormat
ApiReturnFormat specifies if Mambu's returned JSON string represents a single object, a collection of objects or
just a success/failure response
|
static class |
ApiDefinition.ApiType |
Constructor and Description |
---|
ApiDefinition(ApiDefinition.ApiType apiType,
java.lang.Class<?> entityClass)
Constructor used with ApiType requests for which only one entity class needs to be specified, Example GET
loans/123.
|
ApiDefinition(ApiDefinition.ApiType apiType,
java.lang.Class<?> entityClass,
java.lang.Class<?> resultClass)
Constructor used with ApiType requests for which two entity classes need to be specified, Example GET
clients/123/loans.
|
ApiDefinition(ApiDefinition.ApiType apiType,
java.lang.Class<?> entityClass,
java.lang.Class<?> relatedEntity,
java.lang.Class<?> resultClass)
Constructor which can be used with ApiType requests for which the result class must be specified independently of
the related entity class.
|
ApiDefinition(ApiDefinition.ApiType apiType,
java.lang.String apiEndPoint,
java.lang.Class<?> resultClass)
Constructor used with ApiType requests for which two api endpoints need to be specified and the api returns
related entity associated with the second endpoint.
|
ApiDefinition(java.lang.String urlPath,
RequestExecutor.ContentType contentType,
RequestExecutor.Method method,
java.lang.Class<?> retrunClass,
ApiDefinition.ApiReturnFormat returnFormt)
Make ApiDefintion by explicitly specifying all required HTTPS request parameters.
|
Modifier and Type | Method and Description |
---|---|
void |
addJsonDeserializer(java.lang.Class<?> clazz,
com.google.gson.JsonDeserializer<?> deserializer)
Add JsonDeserializer for a specific class to the API definition
|
void |
addJsonSerializer(java.lang.Class<?> clazz,
com.google.gson.JsonSerializer<?> serializer)
Add JsonSerializer for a specific class to the API definition
|
void |
addSerializationExclusionStrategy(com.google.gson.ExclusionStrategy exclusionStrategy)
Add serialization ExclusionStrategy to the API definition
|
static java.lang.String |
getApiEndPoint(java.lang.Class<?> entityClass) |
ApiDefinition.ApiReturnFormat |
getApiReturnFormat() |
ApiDefinition.ApiType |
getApiType() |
RequestExecutor.ContentType |
getContentType() |
java.lang.String |
getEndPoint() |
java.lang.String |
getJsonDateTimeFormat() |
java.util.HashMap<java.lang.Class<?>,com.google.gson.JsonDeserializer<?>> |
getJsonDeserializers()
Get JsonDeserializers specified in the API definition
|
java.util.HashMap<java.lang.Class<?>,com.google.gson.JsonSerializer<?>> |
getJsonSerializers()
Get JsonSerializers specified in the API definition
|
RequestExecutor.Method |
getMethod() |
java.lang.String |
getRelatedEntity() |
java.lang.Class<?> |
getReturnClass() |
java.util.List<com.google.gson.ExclusionStrategy> |
getSerializationExclusionStrategies()
Get serialization ExclusionStrategy specified in the API definition
|
java.lang.String |
getUrlPath() |
boolean |
getWithFullDetails() |
boolean |
isObjectIdNeeded() |
void |
setApiReturnFormat(ApiDefinition.ApiReturnFormat returnFormat) |
void |
setApiType(ApiDefinition.ApiType apiType) |
void |
setContentType(RequestExecutor.ContentType contentType) |
void |
setEndPoint(java.lang.String endPoint) |
void |
setJsonDateTimeFormat(java.lang.String dateTimeFormat) |
void |
setMethod(RequestExecutor.Method method) |
void |
setRequiresObjectId(boolean requires) |
void |
setUrlPath(java.lang.String urlPath) |
void |
setWithFullDetails(boolean isWithFullDetails) |
public ApiDefinition(ApiDefinition.ApiType apiType, java.lang.Class<?> entityClass)
entityClass
- determines API's endpoint (e.g. LoanAccount for loans/)public ApiDefinition(ApiDefinition.ApiType apiType, java.lang.Class<?> entityClass, java.lang.Class<?> resultClass)
entityClass
- determines API's endpoint (e.g. LoanAccount for loans/)resultClass
- determines the entity to be retrieved. E.g. loans in the API calls GET clients/333/loanspublic ApiDefinition(ApiDefinition.ApiType apiType, java.lang.String apiEndPoint, java.lang.Class<?> resultClass)
apiType
- the API typeapiEndPoint
- determines API's endpoint string directly . E.g "settings" as in /api/settingsresultClass
- determines the entity to be retrieved. E.g. Organization in the API calls GET api/setting/organizationThis constructor can be used
in cased when there is no Mambu class to map to the api endpoint. Example GET settings/iddocumenttemplates.
public ApiDefinition(java.lang.String urlPath, RequestExecutor.ContentType contentType, RequestExecutor.Method method, java.lang.Class<?> retrunClass, ApiDefinition.ApiReturnFormat returnFormt)
urlPath
- full URL path (without the https prefix). Example settings/branding/logcontentType
- content typemethod
- methodretrunClass
- returned object's classreturnFormt
- returned format typepublic ApiDefinition(ApiDefinition.ApiType apiType, java.lang.Class<?> entityClass, java.lang.Class<?> relatedEntity, java.lang.Class<?> resultClass)
entityClass
- determines API's endpoint (e.g. LoanAccount for loans/)relatedEntity
- related entity name classresultClass
- determines the entity to be retrieved.public static java.lang.String getApiEndPoint(java.lang.Class<?> entityClass)
public ApiDefinition.ApiType getApiType()
public java.lang.String getEndPoint()
public boolean isObjectIdNeeded()
public RequestExecutor.Method getMethod()
public RequestExecutor.ContentType getContentType()
public java.lang.String getRelatedEntity()
public ApiDefinition.ApiReturnFormat getApiReturnFormat()
public boolean getWithFullDetails()
public java.lang.Class<?> getReturnClass()
public void setApiType(ApiDefinition.ApiType apiType)
public void setEndPoint(java.lang.String endPoint)
public void setApiReturnFormat(ApiDefinition.ApiReturnFormat returnFormat)
public void setWithFullDetails(boolean isWithFullDetails)
public void setContentType(RequestExecutor.ContentType contentType)
public void setMethod(RequestExecutor.Method method)
public void setJsonDateTimeFormat(java.lang.String dateTimeFormat)
public java.lang.String getJsonDateTimeFormat()
public void setRequiresObjectId(boolean requires)
public java.lang.String getUrlPath()
public void setUrlPath(java.lang.String urlPath)
public void addSerializationExclusionStrategy(com.google.gson.ExclusionStrategy exclusionStrategy)
exclusionStrategy
- exclusion strategypublic java.util.List<com.google.gson.ExclusionStrategy> getSerializationExclusionStrategies()
public void addJsonSerializer(java.lang.Class<?> clazz, com.google.gson.JsonSerializer<?> serializer)
clazz
- classserializer
- JsonSerializerpublic java.util.HashMap<java.lang.Class<?>,com.google.gson.JsonSerializer<?>> getJsonSerializers()
public void addJsonDeserializer(java.lang.Class<?> clazz, com.google.gson.JsonDeserializer<?> deserializer)
clazz
- classdeserializer
- Json Deserializerpublic java.util.HashMap<java.lang.Class<?>,com.google.gson.JsonDeserializer<?>> getJsonDeserializers()