package org.takiguchi.cerberus.cerberusapp.model;

public class ApplicationStatus {
    private final Application application;
    private final ServiceStatus status;

    public static Builder anApplicationStatus() {
        return new Builder();
    }

    public ApplicationStatus(Application application, ServiceStatus status) {
        this.application = application;
        this.status = status;
    }

    public Application getApplication() {
        return application;
    }

    public ServiceStatus getStatus() {
        return status;
    }

    public static class Builder {
        private Application application;
        private ServiceStatus status;

        private Builder() {
        }

        public Builder withApplication(Application application) {
            this.application = application;
            return this;
        }

        public Builder withStatus(ServiceStatus status) {
            this.status = status;
            return this;
        }

        public ApplicationStatus build() {
            return new ApplicationStatus(application, status);
        }
    }
}
