All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.thomsonreuters.ema.access.ServiceEndpointDiscoveryOption Maven / Gradle / Ivy

There is a newer version: 3.5.1.0
Show newest version
///*|-----------------------------------------------------------------------------
// *|            This source code is provided under the Apache 2.0 license      --
// *|  and is provided AS IS with no warranty or guarantee of fit for purpose.  --
// *|                See the project's LICENSE.md for details.                  --
// *|           Copyright Thomson Reuters 2019. All rights reserved.            --
///*|-----------------------------------------------------------------------------

package com.thomsonreuters.ema.access;


/**
 * ServiceEndpointDiscoveryOption is used to specify query options for {@link com.thomsonreuters.ema.access.ServiceEndpointDiscovery#registerClient(ServiceEndpointDiscoveryOption, ServiceEndpointDiscoveryClient, Object)}
 *
 * @see ServiceEndpointDiscovery
 */
public interface ServiceEndpointDiscoveryOption
{

	/**
	 * TransportProtocol represents transport protocol options
	 */
	public class TransportProtocol
	{
		/**
		 * Indicates undefined transport protocol
		 */
		public final static int UNKNOWN = 0;

		/**
		 * Indicates TCP transport protocol
		 */
		public final static int TCP = 1;

		/**
		 * Indicates Websocket transport protocol
		 */
		public final static int WEB_SOCKET = 2;
	}
	
	/**
	 * DataformatProtocol represents data format protocol options
	 */
	public class DataformatProtocol
	{
		/**
		 * Indicates undefined data format protocol
		 */
		public final static int UNKNOWN = 0;

		/**
		 * Indicates RWF data format protocol
		 */
		public final static int RWF = 1;

		/**
		 * Indicates tr_json2 data format protocol
		 */
		public final static int JSON2 = 2;
	}
	
	/**
	 * Clears the ServiceEndpointDiscoveryOption and sets all the defaults.
	 * 
	 * @return reference to this object
	 */
	ServiceEndpointDiscoveryOption clear();
	
	/**
	 * Specifies the username for sending authorization request with the token service.
	 * 
	 * @param username specifies name used on login request
	 * @return reference to this object
	 */
	ServiceEndpointDiscoveryOption username(String username);
	
	/**
	 * Specifies the password associated with the username for sending authorization request with the token service
	 * 
	 * @param password specifies password on login request
	 * @return reference to this object
	 */
	ServiceEndpointDiscoveryOption password(String password);

	/**
	 * Specifies the a unique identifier for an application making the request.
	 * 
	 * 

EMA uses the username as Client ID by default.

* * @param clientId specifies the client ID * @return reference to this object */ ServiceEndpointDiscoveryOption clientId(String clientId); /** * Specifies a transport protocol to get endpoints according to the protocol. * *

This is an optional option to limit number of endpoints.

* * @param transport specifies a transport protocol * @return reference to this object * * @see TransportProtocol */ ServiceEndpointDiscoveryOption transport(int transport); /** * Specifies a data format protocol to get endpoints according to the protocol. * *

This is an optional option to limit number of endpoints.

* * @param dataFormat specifies a data format protocol * @return reference to this object * * @see DataformatProtocol */ ServiceEndpointDiscoveryOption dataFormat(int dataFormat); /** * Specifies the address or hostname of the HTTP proxy server * * @param proxyHostName specifies the proxy hostname * @return reference to this object */ ServiceEndpointDiscoveryOption proxyHostName(String proxyHostName); /** * Specifies the port number of the HTTP proxy server * * @param proxyPort specifies the proxy port * @return reference to this object */ ServiceEndpointDiscoveryOption proxyPort(String proxyPort); /** * Specifies the proxy user name to authenticate. * * @param proxyUserName specifies a proxy user name * @return reference to this object */ ServiceEndpointDiscoveryOption proxyUserName(String proxyUserName); /** * Specifies the proxy password to authenticate. * * @param proxyPassword specifies a proxy password * @return reference to this object */ ServiceEndpointDiscoveryOption proxyPassword(String proxyPassword); /** * Specifies the proxy domain to authenticate. * * @param proxyDomain specifies a proxy domain * @return reference to this object */ ServiceEndpointDiscoveryOption proxyDomain(String proxyDomain); /** * Specifies the local hostname of the client to authenticate. *

Needed for NTLM authentication protocol only. EMA assigns * hostname/IP address by default if not specified.

* * @param localHostName specifies a local host name * @return reference to this object */ ServiceEndpointDiscoveryOption proxyLocalHostName(String localHostName); /** * Specifies the complete path of the Kerberos5 configuration file. *

Needed for Negotiate/Kerberos and Kerberos authentications

* * @param krb5ConfigFile specifies a Kerberos5 configuration file * @return reference to this object */ ServiceEndpointDiscoveryOption proxyKRB5ConfigFile(String krb5ConfigFile); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy