Package org.kie.services.client.api

Source Code of org.kie.services.client.api.RemoteRestRuntimeEngineBuilderImpl

package org.kie.services.client.api;

import java.net.URL;
import java.util.HashSet;
import java.util.Set;

import org.kie.services.client.api.builder.RemoteRestRuntimeEngineBuilder;
import org.kie.services.client.api.builder.exception.InsufficientInfoToBuildException;
import org.kie.services.client.api.command.RemoteConfiguration;
import org.kie.services.client.api.command.RemoteConfiguration.Type;
import org.kie.services.client.api.command.RemoteRuntimeEngine;

/**
* This is the internal implementation of the {@link RemoteRestRuntimeEngineBuilder} class.
* </p>
* It takes care of implementing the methods specified as well as managing the
* state of the internal {@link RemoteConfiguration} instance.
*/
public class RemoteRestRuntimeEngineBuilderImpl implements RemoteRestRuntimeEngineBuilder {

    private RemoteConfiguration config;
   
    URL url;
   
    RemoteRestRuntimeEngineBuilderImpl() {
        this.config = new RemoteConfiguration(Type.REST);
    }

    @Override
    public RemoteRestRuntimeEngineBuilder addDeploymentId(String deploymentId) {
        this.config.setDeploymentId(deploymentId);
        return this;
    }

    @Override
    public RemoteRestRuntimeEngineBuilder addProcessInstanceId(long processInstanceId) {
        this.config.setProcessInstanceId(processInstanceId);
        return this;
    }

    @Override
    public RemoteRestRuntimeEngineBuilder addUserName(String userName) {
        config.setUserName(userName);
        return this;
    }

    @Override
    public RemoteRestRuntimeEngineBuilder addPassword(String password) {
        config.setPassword(password);
        return this;
    }

    @Override
    public RemoteRestRuntimeEngineBuilder addUrl(URL url) {
        config.setServerBaseRestUrl(url);
        return this;
    }

    @Override
    public RemoteRestRuntimeEngineBuilder addTimeout(int timeoutInSeconds) {
        config.setTimeout(timeoutInSeconds);
        return this;
    }

    @Override
    public RemoteRestRuntimeEngineBuilder addExtraJaxbClasses(Class... classes) {
        Set<Class<?>> classSet = new HashSet<Class<?>>();
        for( Class clazz : classes ) {
            classSet.add(clazz);
        }
        this.config.addJaxbClasses(classSet);
        return this;
    }

    @Override
    public RemoteRestRuntimeEngineBuilder clearJaxbClasses() {
        this.config.clearJaxbClasses();
        return this;
    }
   
    @Override
    @Deprecated
    public RemoteRestRuntimeEngineBuilder useFormBasedAuth(boolean formBasedAuth) {
        // TODO: delete me after 6.2.0.x
        return this;
    }

    private void checkAndFinalizeConfig() {
        RemoteRuntimeEngineFactory.checkAndFinalizeConfig(config, this);
    }
   
    @Override
    public RemoteRestRuntimeEngineFactory buildFactory() throws InsufficientInfoToBuildException {
        checkAndFinalizeConfig();
        return new RemoteRestRuntimeEngineFactory(config.clone());
    }
  
    @Override
    public RemoteRuntimeEngine build() {
        checkAndFinalizeConfig();
        return new RemoteRuntimeEngine(config.clone());
    }
   
    public static RemoteRestRuntimeEngineBuilderImpl newBuilder() {
        return new RemoteRestRuntimeEngineBuilderImpl();
    }
}
TOP

Related Classes of org.kie.services.client.api.RemoteRestRuntimeEngineBuilderImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.