Package org.knowm.xchange
Class ExchangeSpecification
- java.lang.Object
-
- org.knowm.xchange.ExchangeSpecification
-
- Direct Known Subclasses:
IdexExchangeSpecification
public class ExchangeSpecification extends Object
Specification to provide the following toExchangeFactory
:- Provision of required exchangeSpecificParameters for creating an
Exchange
- Provision of optional exchangeSpecificParameters for additional configuration
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExchangeSpecification.ResilienceSpecification
-
Constructor Summary
Constructors Constructor Description ExchangeSpecification(Class<? extends Exchange> exchangeClass)
Static bindingExchangeSpecification(String exchangeClassName)
Deprecated.use constructor with exchange class for better performance
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description String
getApiKey()
Get the API key.Class<? extends Exchange>
getExchangeClass()
String
getExchangeClassName()
Deprecated.use getExchangeClassString
getExchangeDescription()
Get the exchange description (e.g.String
getExchangeName()
Get the exchange name.Map<String,Object>
getExchangeSpecificParameters()
Get the arbitrary exchange-specific parameters to be passed to the exchange implementation.Object
getExchangeSpecificParametersItem(String key)
Get an item from the arbitrary exchange-specific parameters to be passed to the exchange implementation.String
getHost()
Get the host name of the server providing data (e.g.int
getHttpConnTimeout()
Get the http connection timeout for the connection.int
getHttpReadTimeout()
Get the http read timeout for the connection.String
getMetaDataJsonFileOverride()
Get the override file for generating theExchangeMetaData
object.Object
getParameter(String key)
String
getPassword()
Get the password for authentication.String
getPlainTextUri()
Get the URI to reach the root of the exchange API for plaintext (non-SSL) queries (e.g.int
getPort()
Get the port number of the server providing direct socket data (e.g.String
getProxyHost()
Get the host name of the http proxy server (e.g.Integer
getProxyPort()
Get the port of the http proxy server (e.g.ExchangeSpecification.ResilienceSpecification
getResilience()
String
getSecretKey()
Get the API secret key typically used in HMAC signing of requests.String
getSslUri()
Get the URI to reach the root of the exchange API for SSL queries (e.g.String
getUserName()
Get the username for authentication.boolean
isShouldLoadRemoteMetaData()
By default, some meta data from the exchange is remotely loaded (if implemented).void
setApiKey(String apiKey)
Set the API key.void
setExchangeDescription(String exchangeDescription)
Set the exchange description (e.g.void
setExchangeName(String exchangeName)
Set the exchange name (e.g.void
setExchangeSpecificParameters(Map<String,Object> exchangeSpecificParameters)
Set the arbitrary exchange-specific parameters to be passed to the exchange implementation.void
setExchangeSpecificParametersItem(String key, Object value)
Set an item in the arbitrary exchange-specific parameters to be passed to the exchange implementation.void
setHost(String host)
Set the host name of the server providing data.void
setHttpConnTimeout(int milliseconds)
Set the http connection timeout for the connection.void
setHttpReadTimeout(int milliseconds)
Set the http read timeout for the connection.void
setMetaDataJsonFileOverride(String metaDataJsonFileOverride)
Set the override file for generating theExchangeMetaData
object.void
setPassword(String password)
Set the password for authentication.void
setPlainTextUri(String plainTextUri)
Set the URI to reach the root of the exchange API for plaintext (non-SSL) queries (e.g.void
setPort(int port)
Set the port number of the server providing direct socket data (e.g.void
setProxyHost(String proxyHost)
Set the host name of the http proxy server.void
setProxyPort(Integer proxyPort)
Get the port of the http proxy server.void
setResilience(ExchangeSpecification.ResilienceSpecification resilience)
void
setSecretKey(String secretKey)
Set the API secret key typically used in HMAC signing of requests.void
setShouldLoadRemoteMetaData(boolean shouldLoadRemoteMetaData)
By default, some meta data from the exchange is remotely loaded (if implemented).void
setSslUri(String uri)
Set the URI to reach the root of the exchange API for SSL queries (e.g.void
setUserName(String userName)
Set the username for authentication.
-
-
-
Constructor Detail
-
ExchangeSpecification
@Deprecated public ExchangeSpecification(String exchangeClassName)
Deprecated.use constructor with exchange class for better performanceDynamic binding- Parameters:
exchangeClassName
- The exchange class name (e.g. "org.knowm.xchange.mtgox.v1.MtGoxExchange")
-
-
Method Detail
-
getExchangeClass
public Class<? extends Exchange> getExchangeClass()
- Returns:
- The exchange class for loading at runtime
-
getExchangeClassName
@Deprecated public String getExchangeClassName()
Deprecated.use getExchangeClass- Returns:
- The exchange class name for loading at runtime
-
getParameter
public Object getParameter(String key)
- Parameters:
key
- The key into the parameter map (recommend using the provided standard static entries)- Returns:
- Any additional exchangeSpecificParameters that the
Exchange
may consume to configure services
-
getHost
public String getHost()
Get the host name of the server providing data (e.g. "mtgox.com").- Returns:
- the host name
-
setHost
public void setHost(String host)
Set the host name of the server providing data.- Parameters:
host
- the host name
-
getProxyHost
public String getProxyHost()
Get the host name of the http proxy server (e.g. "proxy.com").- Returns:
- the proxy host name
-
setProxyHost
public void setProxyHost(String proxyHost)
Set the host name of the http proxy server.- Parameters:
proxyHost
- the proxy host name
-
getProxyPort
public Integer getProxyPort()
Get the port of the http proxy server (e.g. "80").- Returns:
- the http proxy port
-
setProxyPort
public void setProxyPort(Integer proxyPort)
Get the port of the http proxy server.- Parameters:
proxyPort
- the host name
-
getApiKey
public String getApiKey()
Get the API key. For MtGox this would be the "Rest-Key" field.- Returns:
- the API key
-
setApiKey
public void setApiKey(String apiKey)
Set the API key. For MtGox this would be the "Rest-Key" field.- Parameters:
apiKey
- the API key
-
getPort
public int getPort()
Get the port number of the server providing direct socket data (e.g. "1337").- Returns:
- the port number
-
setPort
public void setPort(int port)
Set the port number of the server providing direct socket data (e.g. "1337").- Parameters:
port
- the port number
-
getHttpConnTimeout
public int getHttpConnTimeout()
Get the http connection timeout for the connection. If the default value of zero is returned then the default rescu timeout will be applied. Check the exchange code to see if this option has been implemented.- Returns:
- the http read timeout in milliseconds
-
setHttpConnTimeout
public void setHttpConnTimeout(int milliseconds)
Set the http connection timeout for the connection. If not supplied the default rescu timeout will be used. Check the exchange code to see if this option has been implemented. (This value can also be set globally in "rescu.properties" by setting the property "rescu.http.connTimeoutMillis".)- Parameters:
milliseconds
- the http read timeout in milliseconds
-
getHttpReadTimeout
public int getHttpReadTimeout()
Get the http read timeout for the connection. If the default value of zero is returned then the default rescu timeout will be applied. Check the exchange code to see if this option has been implemented.- Returns:
- the http read timeout in milliseconds
-
setHttpReadTimeout
public void setHttpReadTimeout(int milliseconds)
Set the http read timeout for the connection. If not supplied the default rescu timeout will be used. Check the exchange code to see if this option has been implemented. (This value can also be set globally in "rescu.properties" by setting the property "rescu.http.readTimeoutMillis".)- Parameters:
milliseconds
- the http read timeout in milliseconds
-
getSecretKey
public String getSecretKey()
Get the API secret key typically used in HMAC signing of requests. For MtGox this would be the "Rest-Sign" field.- Returns:
- the secret key
-
setSecretKey
public void setSecretKey(String secretKey)
Set the API secret key typically used in HMAC signing of requests. For MtGox this would be the "Rest-Sign" field.- Parameters:
secretKey
- the secret key
-
getSslUri
public String getSslUri()
Get the URI to reach the root of the exchange API for SSL queries (e.g. use "https://example.com:8443/exchange", not "https://example.com:8443/exchange/api/v3/trades").- Returns:
- the SSL URI
-
setSslUri
public void setSslUri(String uri)
Set the URI to reach the root of the exchange API for SSL queries (e.g. use "https://example.com:8443/exchange", not "https://example.com:8443/exchange/api/v3/trades").- Parameters:
uri
- the SSL URI
-
getPlainTextUri
public String getPlainTextUri()
Get the URI to reach the root of the exchange API for plaintext (non-SSL) queries (e.g. use "http://example.com:8080/exchange", not "http://example.com:8080/exchange/api/v3/trades")- Returns:
- the plain text URI
-
setPlainTextUri
public void setPlainTextUri(String plainTextUri)
Set the URI to reach the root of the exchange API for plaintext (non-SSL) queries (e.g. use "http://example.com:8080/exchange", not "http://example.com:8080/exchange/api/v3/trades")- Parameters:
plainTextUri
- the plain text URI
-
getExchangeSpecificParameters
public Map<String,Object> getExchangeSpecificParameters()
Get the arbitrary exchange-specific parameters to be passed to the exchange implementation.- Returns:
- a Map of named exchange-specific parameter values
-
setExchangeSpecificParameters
public void setExchangeSpecificParameters(Map<String,Object> exchangeSpecificParameters)
Set the arbitrary exchange-specific parameters to be passed to the exchange implementation.- Parameters:
exchangeSpecificParameters
- a Map of named exchange-specific parameter values
-
getExchangeSpecificParametersItem
public Object getExchangeSpecificParametersItem(String key)
Get an item from the arbitrary exchange-specific parameters to be passed to the exchange implementation.- Returns:
- a Map of named exchange-specific parameter values
-
setExchangeSpecificParametersItem
public void setExchangeSpecificParametersItem(String key, Object value)
Set an item in the arbitrary exchange-specific parameters to be passed to the exchange implementation.
-
getPassword
public String getPassword()
Get the password for authentication.- Returns:
- the password
-
setPassword
public void setPassword(String password)
Set the password for authentication.- Parameters:
password
- the password
-
getUserName
public String getUserName()
Get the username for authentication.- Returns:
- the username
-
setUserName
public void setUserName(String userName)
Set the username for authentication.- Parameters:
userName
- the username
-
getExchangeName
public String getExchangeName()
Get the exchange name.- Returns:
- the exchange name (e.g. "Mt Gox")
-
setExchangeName
public void setExchangeName(String exchangeName)
Set the exchange name (e.g. "Mt Gox").- Parameters:
exchangeName
- the exchange name
-
getExchangeDescription
public String getExchangeDescription()
Get the exchange description (e.g. "Major exchange specialising in USD, EUR, GBP").- Returns:
- the exchange description
-
setExchangeDescription
public void setExchangeDescription(String exchangeDescription)
Set the exchange description (e.g. "Major exchange specialising in USD, EUR, GBP").- Parameters:
exchangeDescription
- the exchange description
-
getResilience
public ExchangeSpecification.ResilienceSpecification getResilience()
-
setResilience
public void setResilience(ExchangeSpecification.ResilienceSpecification resilience)
-
getMetaDataJsonFileOverride
public String getMetaDataJsonFileOverride()
Get the override file for generating theExchangeMetaData
object. By default, theExchangeMetaData
object is loaded at startup from a json file on the classpath with the same name as the name of the exchange as defined inExchangeSpecification
. With this parameter, you can override that file with a file of your choice located outside of the classpath.- Returns:
-
setMetaDataJsonFileOverride
public void setMetaDataJsonFileOverride(String metaDataJsonFileOverride)
Set the override file for generating theExchangeMetaData
object. By default, theExchangeMetaData
object is loaded at startup from a json file on the classpath with the same name as the name of the exchange as defined inExchangeSpecification
. With this parameter, you can override that file with a file of your choice located outside of the classpath.
-
isShouldLoadRemoteMetaData
public boolean isShouldLoadRemoteMetaData()
By default, some meta data from the exchange is remotely loaded (if implemented).- Returns:
-
setShouldLoadRemoteMetaData
public void setShouldLoadRemoteMetaData(boolean shouldLoadRemoteMetaData)
By default, some meta data from the exchange is remotely loaded (if implemented). Here you can set this default behavior.- Parameters:
shouldLoadRemoteMetaData
-
-
-