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

com.taboola.backstage.internal.factories.BackstageEndpointsRetrofitFactory Maven / Gradle / Ivy

package com.taboola.backstage.internal.factories;

import com.taboola.backstage.internal.CommunicationFactory;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Objects;

/**
 * Created by vladi
 * Date: 2/25/2018
 * Time: 11:00 PM
 * By Taboola
 */
public class BackstageEndpointsRetrofitFactory implements BackstageEndpointsFactory {

    private static final Logger logger = LogManager.getLogger(BackstageEndpointsRetrofitFactory.class);

    private final CommunicationFactory communicationFactory;

    public BackstageEndpointsRetrofitFactory(CommunicationFactory communicationFactory) {
        this.communicationFactory = communicationFactory;
    }

    @Override
    public  A createAuthEndpoint(Class clazz) {
        Objects.requireNonNull(clazz, "clazz");
        logger.debug("creating authentication endpoint using retrofit for class [{}]", clazz::toString);
        return communicationFactory.createRetrofitAuthEndpoint(clazz);
    }

    @Override
    public  E createEndpoint(Class clazz) {
        Objects.requireNonNull(clazz, "clazz");
        logger.debug("creating endpoint using retrofit for class [{}]", clazz::toString);
        return communicationFactory.createRetrofitEndpoint(clazz);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy