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

estonlabs.cxtl.exchanges.b2c2.v1.lib.B2C2ExchangeFactory Maven / Gradle / Ivy

The newest version!
package estonlabs.cxtl.exchanges.b2c2.v1.lib;

import estonlabs.cxtl.common.AbstractExchangeFactory;
import estonlabs.cxtl.common.EnvironmentType;
import estonlabs.cxtl.exchanges.a.specification.domain.Exchange;
import estonlabs.cxtl.exchanges.b2c2.v1.domain.CancelRequest;
import estonlabs.cxtl.exchanges.b2c2.v1.domain.Instrument;
import estonlabs.cxtl.exchanges.b2c2.v1.domain.OrderQueryRequest;
import estonlabs.cxtl.exchanges.b2c2.v1.domain.OrderRequest;

import java.net.Proxy;
import java.net.URI;
import java.util.List;
import java.util.Map;

public class B2C2ExchangeFactory extends AbstractExchangeFactory {

    public static final URI PROD = URI.create("https://api.b2c2.net");
    public static final URI UAT = URI.create("https://api.uat.b2c2.net");

    public static final URI UNIT_TEST = URI.create("http://localhost:8087/b2c2");
    private static final Map> ENVIRONMENTS = Map.of(
            EnvironmentType.PROD, List.of(PROD),
            EnvironmentType.TEST_NET, List.of(UAT),
            EnvironmentType.UNIT_TEST, List.of(UNIT_TEST));

    private final URI baseUri;

    public B2C2ExchangeFactory(URI baseUri) {
        super(Exchange.B2C2, ENVIRONMENTS);
        this.baseUri = baseUri;
    }

    @Override
    public B2C2Cex buildCex() {
        return new B2C2Cex(createJsonRestClient(baseUri), metricsLogger);
    }

    @Override
    public B2C2Cex buildCex(Proxy httpProxy) {
        return new B2C2Cex(createJsonRestClient(baseUri, httpProxy), metricsLogger);
    }
    @Override
    protected B2C2ExchangeFactory me() {
        return this;
    }

    @Override
    public B2C2Cex buildEdi() {
        return buildCex();
    }

    @Override
    public B2C2Cex buildEdi(Proxy httpProxy) {
        return buildCex(httpProxy);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy