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

io.qameta.allure.entity.WithStatusDetails Maven / Gradle / Ivy

There is a newer version: 2.30.0
Show newest version
package io.qameta.allure.entity;

import java.util.Objects;
import java.util.Optional;

/**
 * @author Dmitry Baev [email protected]
 *         Date: 31.01.16
 */
public interface WithStatusDetails {

    StatusDetails getStatusDetails();

    void setStatusDetails(StatusDetails details);

    default StatusDetails getStatusDetailsSafe() {
        if (Objects.isNull(getStatusDetails())) {
            setStatusDetails(new StatusDetails());
        }
        return getStatusDetails();
    }

    default void setStatusMessage(String message) {
        getStatusDetailsSafe().setMessage(message);
    }

    default void setStatusTrace(String trace) {
        getStatusDetailsSafe().setTrace(trace);
    }

    default Optional getStatusMessage() {
        return Optional.ofNullable(getStatusDetails())
                .map(StatusDetails::getMessage);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy