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

org.infrastructurebuilder.util.ActivationProxy Maven / Gradle / Ivy

Go to download

Lightly encumberd Standard interfaces (and exceptions) for JVM-based applications within IB codebases

There is a newer version: 0.21.1
Show newest version
/**
 * Copyright © 2019 admin ([email protected])
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.infrastructurebuilder.util;

import static java.util.Objects.requireNonNull;

import java.util.Optional;

public class ActivationProxy {
  private final boolean activeByDefault;
  private final Optional property;
  private final Optional os;
  private final Optional jdk;
  private final Optional file;

  public ActivationProxy(boolean activeByDefault, Optional file, Optional jdk,
      Optional os, Optional property) {
    this.activeByDefault = activeByDefault;
    this.file = requireNonNull(file);
    this.jdk = requireNonNull(jdk);
    this.os = requireNonNull(os);
    this.property = requireNonNull(property);
  }

  /**
   * Get specifies that this profile will be activated based on
   * existence of a file.
   *
   * @return ActivationFile
   */
  Optional getFile() {
    return this.file;
  }

  /**
   * Get specifies that this profile will be activated when a
   * matching JDK is detected.
   *
   * @return String
   */
  Optional getJdk() {
    return this.jdk;
  }

  /**
   * Get specifies that this profile will be activated when
   * matching OS attributes are detected.
   *
   * @return ActivationOS
   */
  Optional getOs() {
    return this.os;
  }

  /**
   * Get specifies that this profile will be activated when this
   * System property is specified.
   *
   * @return ActivationProperty
   */
  Optional getProperty() {
    return this.property;
  }

  /**
   * Get flag specifying whether this profile is active as a
   * default.
   *
   * @return boolean
   */
  boolean isActiveByDefault() {
    return this.activeByDefault;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy