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 class  BaseFactory.Http  
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.lang.String BASE_PATH  
    protected java.lang.String JSON_CONTENT_TYPE  
    protected java.lang.String key  
    protected java.lang.String secret  
  • Constructor Summary

    Constructors 
    Constructor Description
    BaseFactory​(java.lang.String key, java.lang.String secret)  
  • Method Summary

    Modifier and Type Method Description
    protected Payload createPayload​(java.util.HashMap<java.lang.String,​java.lang.Object> params)  
    protected org.json.JSONObject delete​(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType)  
    abstract T extractFrom​(org.json.JSONObject object)  
    abstract java.util.List<T> extractMultipleFrom​(org.json.JSONObject object)  
    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)  
    protected java.lang.String generateNonce()  
    protected org.json.JSONObject get​(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType)  
    java.lang.String getKey()  
    protected org.json.JSONObject gets​(java.lang.String path, java.lang.String pathArgs, java.lang.String contentType)  
    java.lang.String getSecret()  
    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)  
    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)  
    protected java.lang.String md5​(java.lang.String str)  
    protected org.json.JSONObject post​(java.lang.String path, Payload payload, java.lang.String contentType)  
    protected org.json.JSONObject put​(java.lang.String path, java.lang.String pathArgs, Payload payload, java.lang.String contentType)  
    void setKey​(java.lang.String key)  
    void setSecret​(java.lang.String secret)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • 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

      protected Payload createPayload​(java.util.HashMap<java.lang.String,​java.lang.Object> params)
    • 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.InvalidKeyException
      java.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.NoSuchAlgorithmException
      java.security.InvalidKeyException
      java.io.IOException
      ApiResponseException
    • 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.NoSuchAlgorithmException
      java.security.InvalidKeyException
      java.io.IOException
      ApiResponseException
    • 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.NoSuchAlgorithmException
      java.security.InvalidKeyException
      java.io.IOException
      ApiResponseException
    • 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.NoSuchAlgorithmException
      java.security.InvalidKeyException
      java.io.IOException
      ApiResponseException
    • 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.NoSuchAlgorithmException
      java.security.InvalidKeyException
      java.io.IOException
      ApiResponseException
    • 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.IOException
      ApiResponseException
    • 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.IOException
      ApiResponseException
    • extractFrom

      public abstract T extractFrom​(org.json.JSONObject object) throws ApiResponseException
      Throws:
      ApiResponseException
    • extractMultipleFrom

      public abstract java.util.List<T> extractMultipleFrom​(org.json.JSONObject object) throws ApiResponseException
      Throws:
      ApiResponseException