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

io.molr.commons.domain.RunState Maven / Gradle / Ivy

/**
 * Copyright (c) 2017 European Organisation for Nuclear Research (CERN), All Rights Reserved.
 */

package io.molr.commons.domain;

import java.util.stream.StreamSupport;

public enum RunState {
    UNDEFINED,
    RUNNING,
    PAUSED,
    FINISHED;

    public static final RunState summaryOf(Iterable values) {
        for (RunState value : values) {
            if (RUNNING == value) {
                return RUNNING;
            }
        }
        for (RunState value : values) {
            if (PAUSED == value) {
                return PAUSED;
            }
        }

        if (StreamSupport.stream(values.spliterator(), false).allMatch(FINISHED::equals)) {
            return FINISHED;
        }
        return UNDEFINED;

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy