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

com.sportradar.mts.sdk.api.interfaces.SdkConfiguration Maven / Gradle / Ivy

/*
 * Copyright (C) Sportradar AG. See LICENSE for full license governing this code
 */

package com.sportradar.mts.sdk.api.interfaces;

import com.sportradar.mts.sdk.api.enums.SenderChannel;
import com.sportradar.mts.sdk.api.enums.UfEnvironment;

/**
 *  Defines a contract implemented by classes representing configuration
 */
public interface SdkConfiguration {

    /**
     * Gets an username used when establishing connection to the AQMP broker
     * @return username
     */
    String getUsername();

    /**
     * Gets a password used when establishing connection to the AQMP broker
     * @return password
     */
    String getPassword();

    /**
     * Gets a value specifying the host name of the AQMP broker
     * @return hostname or ip
     */
    String getHost();

    /**
     * Gets a value specifying the virtual host name of the AQMP broker
     * @return virtual host
     */
    String getVirtualHost();

    /**
     * Gets a value specifying whether the connection to AMQP broker should use SSL encryption
     * @return use SSL
     */
    boolean getUseSsl();

    /**
     * Gets the port used to connect to AMQP broker
     * @return port number
     */
    int getPort();

    /**
     * Gets nodeId
     * @return nodeId
     */
    int getNode();

    /**
     *  Gets the BookmakerId associated with the current configuration or 0 if none is provided
     * @return bookmakerId
     */
    int getBookmakerId();

    /**
     *  Gets the channel identifier associated with the current configuration or 0 if none is provided
     * @return limitId
     */
    int getLimitId();

    /**
     * Gets the default currency associated with the current configuration or a null reference if none is provided
     * @return currency
     */
    String getCurrency();

    /**
     * Gets the {@link SenderChannel} specifying the associated channel or a null reference if none is specified
     * @return {@link SenderChannel}
     */
    SenderChannel getSenderChannel();

    /**
     * Gets the access token for the UF feed (only necessary if UF selections will be build)
     * @return access token
     */
    String getAccessToken();

    /**
     * Gets the uf environment for the UF feed (only necessary if UF selections will be build)
     * @return uf environment
     */
    UfEnvironment getUfEnvironment();

    /**
     * Gets the value used to indicate if the sdk should add market specifiers for specific markets. Only used when building selection using UnifiedOdds ids
     * @return provideAdditionalMarketSpecifiers
     */
    boolean getProvideAdditionalMarketSpecifiers();

    /**
     * An indication if the {@link com.sportradar.mts.sdk.api.Ticket}s sent async have the time-out callback enabled.
     * The time-out value is taken from {@link #getTicketResponseTimeoutLive()}, {@link #getTicketCancellationResponseTimeout()}, {@link #getTicketCashoutResponseTimeout()} and {@link #getTicketNonSrSettleResponseTimeout()}.
     *
     * @return true if the time-out callback should be invoked, otherwise false
     */
    boolean isTicketTimeOutCallbackEnabled();

    /**
     * Gets the ticket response timeout(ms) (used when sending in blocking-mode and when the {@link #isTicketTimeOutCallbackEnabled()} is set to true)
     * @return the ticket response timeout
     */
    int getTicketResponseTimeoutLive();

    /**
     * Gets the ticket response timeout(ms) (used when sending in blocking-mode and when the {@link #isTicketTimeOutCallbackEnabled()} is set to true)
     * @return the ticket response timeout
     */
    int getTicketResponseTimeoutPrematch();

    /**
     * Gets the ticket cancellation response timeout(ms) (used when sending in blocking-mode and when the {@link #isTicketTimeOutCallbackEnabled()} is set to true)
     * @return the ticket cancellation response timeout
     */
    int getTicketCancellationResponseTimeout();

    /**
     * Gets the ticket cashout response timeout(ms) (used when sending in blocking-mode and when the {@link #isTicketTimeOutCallbackEnabled()} is set to true)
     * @return the ticket cashout response timeout
     */
    int getTicketCashoutResponseTimeout();

    /**
     * Gets the ticket non-Sportradar response timeout(ms) (used when sending in blocking-mode and when the {@link #isTicketTimeOutCallbackEnabled()} is set to true)
     * @return the ticket cashout response timeout
     */
    int getTicketNonSrSettleResponseTimeout();

    /**
     * Gets the maximum number of messages per second
     * @return messagesPerSecond
     */
    double getMessagesPerSecond();

    /**
     * Gets a value specifying whether the rabbit consumer channel should be exclusive
     * @return use exclusive consumer channel setting
     */
    boolean getExclusiveConsumer();

    /**
     * Gets the Keycloak host for authorization
     * @return the Keycloak host for authorization
     */
    String getKeycloakHost();

    /**
     * Gets the username used to connect authenticate to Keycloak
     * @return the username used to connect authenticate to Keycloak
     */
    String getKeycloakUsername();

    /**
     * Gets the password used to connect authenticate to Keycloak
     * @return the password used to connect authenticate to Keycloak
     */
    String getKeycloakPassword();

    /**
     * Gets the secret used to connect authenticate to Keycloak
     * @return the secret used to connect authenticate to Keycloak
     */
    String getKeycloakSecret();

    /**
     * Gets the Client API host
     * @return the Client API host
     */
    String getMtsClientApiHost();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy