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

com.taboola.backstage.services.DictionaryServiceImpl Maven / Gradle / Ivy

package com.taboola.backstage.services;

import com.taboola.backstage.exceptions.BackstageAPIConnectivityException;
import com.taboola.backstage.exceptions.BackstageAPIRequestException;
import com.taboola.backstage.exceptions.BackstageAPIUnauthorizedException;
import com.taboola.backstage.model.Results;
import com.taboola.backstage.model.auth.BackstageAuthentication;
import com.taboola.backstage.model.dictionary.Resource;
import com.taboola.backstage.internal.BackstageDictionaryEndpoint;

/**
 * Created by vladi
 * Date: 10/17/2017
 * Time: 11:42 PM
 * By Taboola
 */
public class DictionaryServiceImpl implements DictionaryService {

    private final BackstageDictionaryEndpoint endpoint;

    public DictionaryServiceImpl(BackstageDictionaryEndpoint endpoint) {
        this.endpoint = endpoint;
    }

    @Override
    public String custom(BackstageAuthentication auth, String ... resourceName) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.custom(accessToken, String.join("/", resourceName));
    }

    @Override
    public Results getRoot(BackstageAuthentication auth) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.getRoot(accessToken);
    }

    @Override
    public Results getCountries(BackstageAuthentication auth) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.getCountries(accessToken);
    }

    @Override
    public Results getSpecificCountryRegions(BackstageAuthentication auth, String countryCode) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.getSpecificCountryRegions(accessToken, countryCode);
    }

    @Override
    public Results getSpecificCountryPostals(BackstageAuthentication auth, String countryCode) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.getSpecificCountryPostals(accessToken, countryCode);
    }

    @Override
    public Results getUnitedStatesDMA(BackstageAuthentication auth) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.getUnitedStatesDMA(accessToken);
    }

    @Override
    public Results getPlatforms(BackstageAuthentication auth) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.getPlatforms(accessToken);
    }

    @Override
    public Results getOperationSystem(BackstageAuthentication auth) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.getOperationSystem(accessToken);
    }

    @Override
    public Results getOperationSystemSubCategories(BackstageAuthentication auth, String operationSystem) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException {
        String accessToken = auth.getToken().getAccessTokenForHeader();
        return endpoint.getOperationSystemSubCategories(accessToken, operationSystem);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy