Class JsonProperties

java.lang.Object
java.util.Dictionary<K,​V>
java.util.Hashtable<java.lang.Object,​java.lang.Object>
java.util.Properties
de.eacg.ecs.client.JsonProperties
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Object,​java.lang.Object>

public class JsonProperties
extends java.util.Properties
Simple java.util.Properties implementation, that is able to parse a properties file in json format. Restrictions: supported types: String and (nested) Object ; other types in json file are ignored. Nested objects key names are separated by '.' Example: { "name": {"firstName": "Bart", "lastName": "Simpson"}} produces the properties: name.firstName = "Bart" name.lastName = "Simpson" Additional features: - an additional 'defaults' properties list, my by provided in the constructors. - defaults for the manadatory properties required by the RestClient may also be set by named setters (e.g. setUserName()) - a validate method checks if all required properties for RestClient are available
See Also:
Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String API_KEY  
    static java.lang.String API_PATH  
    static java.lang.String BASE_URL  
    static java.lang.String PROXY_PASS  
    static java.lang.String PROXY_PORT  
    static java.lang.String PROXY_URL  
    static java.lang.String PROXY_USER  

    Fields inherited from class java.util.Properties

    defaults
  • Constructor Summary

    Constructors
    Constructor Description
    JsonProperties​(java.io.InputStream is)  
    JsonProperties​(java.io.InputStream is, java.util.Properties defaults)  
    JsonProperties​(java.lang.String filename)  
    JsonProperties​(java.lang.String filename, java.util.Properties defaults)  
  • Method Summary

    Modifier and Type Method Description
    void setApiKey​(java.lang.String apiKey)  
    void setApiPath​(java.lang.String apiPath)  
    void setBaseUrl​(java.lang.String baseUrl)  
    void setProxyPass​(java.lang.String proxyPass)  
    void setProxyPort​(java.lang.String proxyPort)  
    void setProxyUrl​(java.lang.String proxyUrl)  
    void setProxyUser​(java.lang.String proxyUser)  
    java.util.List<java.lang.String> validate​(java.lang.String... keys)
    check if minimum required parameters are set: "userName", "apiKey", "baseUrl", "apiPath"

    Methods inherited from class java.util.Properties

    clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, getProperty, getProperty, hashCode, isEmpty, keys, keySet, list, list, load, load, loadFromXML, merge, propertyNames, put, putAll, putIfAbsent, rehash, remove, remove, replace, replace, replaceAll, save, setProperty, size, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames, toString, values

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • JsonProperties

      public JsonProperties​(java.lang.String filename) throws java.io.IOException
      Throws:
      java.io.IOException
    • JsonProperties

      public JsonProperties​(java.lang.String filename, java.util.Properties defaults) throws java.io.IOException
      Throws:
      java.io.IOException
    • JsonProperties

      public JsonProperties​(java.io.InputStream is) throws java.io.IOException
      Throws:
      java.io.IOException
    • JsonProperties

      public JsonProperties​(java.io.InputStream is, java.util.Properties defaults) throws java.io.IOException
      Throws:
      java.io.IOException
  • Method Details

    • setApiKey

      public void setApiKey​(java.lang.String apiKey)
    • setBaseUrl

      public void setBaseUrl​(java.lang.String baseUrl)
    • setApiPath

      public void setApiPath​(java.lang.String apiPath)
    • setProxyUrl

      public void setProxyUrl​(java.lang.String proxyUrl)
    • setProxyPort

      public void setProxyPort​(java.lang.String proxyPort)
    • setProxyUser

      public void setProxyUser​(java.lang.String proxyUser)
    • setProxyPass

      public void setProxyPass​(java.lang.String proxyPass)
    • validate

      public java.util.List<java.lang.String> validate​(java.lang.String... keys)
      check if minimum required parameters are set: "userName", "apiKey", "baseUrl", "apiPath"
      Parameters:
      keys - additional keys to check
      Returns:
      a list of missing keys