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

io.github.linuxforhealth.core.expression.condition.CompoundORCondition Maven / Gradle / Ivy

/*
 * (C) Copyright IBM Corp. 2020, 2021
 *
 * SPDX-License-Identifier: Apache-2.0
 */
package io.github.linuxforhealth.core.expression.condition;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.google.common.base.Preconditions;
import io.github.linuxforhealth.api.Condition;
import io.github.linuxforhealth.api.EvaluationResult;

public class CompoundORCondition implements Condition {

  private List conditions;



  public CompoundORCondition(List conditions) {
    Preconditions.checkArgument(conditions != null && !conditions.isEmpty(),
        "onditions cannot be null or empty");
    this.conditions = new ArrayList<>(conditions);
  }



  @Override
  public boolean test(Map contextVariables) {
    for (Condition c : conditions) {
      if (c.test(contextVariables)) {
        return true;
      }
    }
    return false;
  }



  public List getConditions() {
    return new ArrayList<>(conditions);
  }





}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy