Class BaseFactory<T>
java.lang.Object
software.nectar.java.factory.base.BaseFactory<T>
- Direct Known Subclasses:
ConfigurationsFactory,CredentialsFactory,CreditsFactory,NotificationsFactory,PublicKeysFactory,TokensFactory,UsersFactory
public abstract class BaseFactory<T>
extends java.lang.Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classBaseFactory.Http -
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringBASE_PATHprotected java.lang.StringJSON_CONTENT_TYPEprotected java.lang.Stringkeyprotected java.lang.Stringsecret -
Constructor Summary
Constructors Constructor Description BaseFactory(java.lang.String key, java.lang.String secret) -
Method Summary
Modifier and Type Method Description protected PayloadcreatePayload(java.util.HashMap<java.lang.String,java.lang.Object> params)protected org.json.JSONObjectdelete(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType)abstract TextractFrom(org.json.JSONObject object)abstract java.util.List<T>extractMultipleFrom(org.json.JSONObject object)protected java.lang.StringgenerateHMACAuth(java.lang.String secret, BaseFactory.Http verb, java.lang.String urlPath, java.lang.String md5, java.lang.String contentType, java.util.Date date, java.lang.String nonce)protected java.lang.StringgenerateNonce()protected org.json.JSONObjectget(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType)java.lang.StringgetKey()protected org.json.JSONObjectgets(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType)java.lang.StringgetSecret()protected org.json.JSONObjectinitiateMultipleResponseRequest(BaseFactory.Http method, java.lang.String contentType, java.lang.String md5, java.lang.String endpoint, java.lang.String hmac, java.lang.String nonce, java.lang.String payload, java.util.Date date)protected org.json.JSONObjectinitiateRequest(BaseFactory.Http method, java.lang.String contentType, java.lang.String md5, java.lang.String endpoint, java.lang.String hmac, java.lang.String nonce, java.lang.String payload, java.util.Date date)protected java.lang.Stringmd5(java.lang.String str)protected org.json.JSONObjectpost(java.lang.String path, Payload payload, java.lang.String contentType)protected org.json.JSONObjectput(java.lang.String path, java.lang.String pathArgs, Payload payload, java.lang.String contentType)voidsetKey(java.lang.String key)voidsetSecret(java.lang.String secret)
-
Field Details
-
JSON_CONTENT_TYPE
protected final java.lang.String JSON_CONTENT_TYPE- See Also:
- Constant Field Values
-
BASE_PATH
protected final java.lang.String BASE_PATH- See Also:
- Constant Field Values
-
key
protected java.lang.String key -
secret
protected java.lang.String secret
-
-
Constructor Details
-
BaseFactory
public BaseFactory(java.lang.String key, java.lang.String secret)
-
-
Method Details
-
getKey
public java.lang.String getKey() -
setKey
public void setKey(java.lang.String key) -
getSecret
public java.lang.String getSecret() -
setSecret
public void setSecret(java.lang.String secret) -
createPayload
-
md5
protected java.lang.String md5(java.lang.String str) throws java.security.NoSuchAlgorithmException- Throws:
java.security.NoSuchAlgorithmException
-
generateNonce
protected java.lang.String generateNonce() -
generateHMACAuth
protected java.lang.String generateHMACAuth(java.lang.String secret, BaseFactory.Http verb, java.lang.String urlPath, java.lang.String md5, java.lang.String contentType, java.util.Date date, java.lang.String nonce) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException- Throws:
java.security.InvalidKeyExceptionjava.security.NoSuchAlgorithmException
-
post
protected org.json.JSONObject post(java.lang.String path, Payload payload, java.lang.String contentType) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.io.IOException, ApiResponseException- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.io.IOExceptionApiResponseException
-
get
protected org.json.JSONObject get(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.io.IOException, ApiResponseException- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.io.IOExceptionApiResponseException
-
gets
protected org.json.JSONObject gets(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.io.IOException, ApiResponseException- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.io.IOExceptionApiResponseException
-
delete
protected org.json.JSONObject delete(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.io.IOException, ApiResponseException- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.io.IOExceptionApiResponseException
-
put
protected org.json.JSONObject put(java.lang.String path, java.lang.String pathArgs, Payload payload, java.lang.String contentType) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.io.IOException, ApiResponseException- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.io.IOExceptionApiResponseException
-
initiateMultipleResponseRequest
protected org.json.JSONObject initiateMultipleResponseRequest(BaseFactory.Http method, java.lang.String contentType, java.lang.String md5, java.lang.String endpoint, java.lang.String hmac, java.lang.String nonce, java.lang.String payload, java.util.Date date) throws java.io.IOException, ApiResponseException- Throws:
java.io.IOExceptionApiResponseException
-
initiateRequest
protected org.json.JSONObject initiateRequest(BaseFactory.Http method, java.lang.String contentType, java.lang.String md5, java.lang.String endpoint, java.lang.String hmac, java.lang.String nonce, java.lang.String payload, java.util.Date date) throws java.io.IOException, ApiResponseException- Throws:
java.io.IOExceptionApiResponseException
-
extractFrom
- Throws:
ApiResponseException
-
extractMultipleFrom
public abstract java.util.List<T> extractMultipleFrom(org.json.JSONObject object) throws ApiResponseException- Throws:
ApiResponseException
-