trusona/trusona-server-sdk-java

View on GitHub
trusona-sdk/src/main/java/com/trusona/sdk/EnvironmentFactory.java

Summary

Maintainability
A
0 mins
Test Coverage
B
86%
package com.trusona.sdk;

import com.trusona.sdk.http.environment.*;
import java.net.URL;

public class EnvironmentFactory {

  public static Environment getEnvironment(TrusonaEnvironment env) {
    if (env == null) {
      throw new IllegalArgumentException("environment must not be null");
    }
    switch (env) {
      case PRODUCTION:
        return new ProdEnvironment();
      case UAT:
        return new UatEnvironment();
      case EU_PRODUCTION:
        return new EuProdEnvironment();
      case EU_UAT:
        return new EuUatEnvironment();
      case TEST_VERIFY:
        return new TestVerifyEnvironment();
      default:
        throw new IllegalArgumentException("Unexpected environment: " + env);
    }
  }

  public static CustomEnvironment getCustomEnvironment(URL endpoint) {
    if (endpoint == null) {
      throw new IllegalArgumentException("endpoint must not be null");
    }
    return new CustomEnvironment(endpoint);
  }
}