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

abs.api.SimpleConfiguration Maven / Gradle / Ivy

package abs.api;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.ThreadFactory;

/**
 * A value object of {@link Configuration} while building a
 * {@link Context}.
 */
class SimpleConfiguration implements Configuration {

  private final Router envelopeRouter;
  private final Opener envelopeOpener;
  private final Inbox inbox;
  private final ReferenceFactory referenceFactory;
  private final ExecutorService executorService;
  private final ThreadFactory threadFactory;
  private final boolean isLoggingEnabled;
  private final String logPath;
  private final boolean isRemoteMessagingEnabled;

  /**
   * Ctor.
   * 
   * @param envelopeRouter
   * @param envelopeOpener
   * @param inbox
   * @param referenceFactory
   * @param executorService
   * @param threadFactory
   * @param isLoggingEnabled
   * @param logPath
   * @param isRemoteMessagingEnabled
   */
  public SimpleConfiguration(Router envelopeRouter, Opener envelopeOpener, Inbox inbox,
      ReferenceFactory referenceFactory, ExecutorService executorService,
      ThreadFactory threadFactory, final boolean isLoggingEnabled, String logPath,
      final boolean isRemoteMessagingEnabled) {
    this.envelopeRouter = envelopeRouter;
    this.envelopeOpener = envelopeOpener;
    this.inbox = inbox;
    this.referenceFactory = referenceFactory;
    this.executorService = executorService;
    this.threadFactory = threadFactory;
    this.isLoggingEnabled = isLoggingEnabled;
    this.logPath = logPath;
    this.isRemoteMessagingEnabled = isRemoteMessagingEnabled;
  }

  @Override
  public Router getRouter() {
    return this.envelopeRouter;
  }

  @Override
  public Opener getOpener() {
    return this.envelopeOpener;
  }

  @Override
  public Inbox getInbox() {
    return this.inbox;
  }

  @Override
  public ReferenceFactory getReferenceFactory() {
    return referenceFactory;
  }

  @Override
  public ExecutorService getExecutorService() {
    return executorService;
  }

  @Override
  public ThreadFactory getThreadFactory() {
    return threadFactory;
  }

  @Override
  public boolean isLoggingEnabled() {
    return isLoggingEnabled;
  }

  @Override
  public String getLogPath() {
    return logPath;
  }

  @Override
  public boolean isRemoteMessagingEnabled() {
    return isRemoteMessagingEnabled;
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy