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

com.hp.autonomy.idolutils.processors.AciResponseJaxbProcessorFactory Maven / Gradle / Ivy

/*
 * Copyright 2015 Hewlett-Packard Development Company, L.P.
 * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
 */

package com.hp.autonomy.idolutils.processors;

import com.autonomy.aci.client.services.AciErrorException;
import com.autonomy.aci.client.services.Processor;
import com.autonomy.aci.client.services.ProcessorException;
import com.hp.autonomy.types.idol.Error;
import com.hp.autonomy.types.idol.IdolResponseParser;

public class AciResponseJaxbProcessorFactory {
    protected final IdolResponseParser idolResponseParser;

    public AciResponseJaxbProcessorFactory() {
        idolResponseParser = new IdolResponseParser<>(new IdolResponseParser.Function() {
            @Override
            public AciErrorException apply(final Error error) {
                return new AciErrorExceptionBuilder(error).build();
            }
        }, new IdolResponseParser.BiFunction() {
            @Override
            public ProcessorException apply(final String message, final Exception cause) {
                return new ProcessorException(message, cause);
            }
        });
    }

    public  Processor createAciResponseProcessor(final Class responseDataType) {
        return new AciResponseJaxbProcessor<>(idolResponseParser, responseDataType);
    }

    public Processor createEmptyAciResponseProcessor() {
        return new EmptyAciResponseJaxbProcessor(idolResponseParser);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy