Package de.eacg.ecs.client
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.StringAPI_KEYstatic java.lang.StringAPI_PATHstatic java.lang.StringBASE_URLstatic java.lang.StringPROXY_PASSstatic java.lang.StringPROXY_PORTstatic java.lang.StringPROXY_URLstatic java.lang.StringPROXY_USERFields 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 voidsetApiKey(java.lang.String apiKey)voidsetApiPath(java.lang.String apiPath)voidsetBaseUrl(java.lang.String baseUrl)voidsetProxyPass(java.lang.String proxyPass)voidsetProxyPort(java.lang.String proxyPort)voidsetProxyUrl(java.lang.String proxyUrl)voidsetProxyUser(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, valuesMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Field Details
-
API_KEY
public static final java.lang.String API_KEY- See Also:
- Constant Field Values
-
BASE_URL
public static final java.lang.String BASE_URL- See Also:
- Constant Field Values
-
API_PATH
public static final java.lang.String API_PATH- See Also:
- Constant Field Values
-
PROXY_URL
public static final java.lang.String PROXY_URL- See Also:
- Constant Field Values
-
PROXY_PORT
public static final java.lang.String PROXY_PORT- See Also:
- Constant Field Values
-
PROXY_USER
public static final java.lang.String PROXY_USER- See Also:
- Constant Field Values
-
PROXY_PASS
public static final java.lang.String PROXY_PASS- See Also:
- Constant Field Values
-
-
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
-