package com.aol.micro.server.application.registry; import java.util.List; import cyclops.Semigroups; import cyclops.collections.ListX; import cyclops.function.Monoid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.aol.micro.server.HealthStatusChecker; @Component public class RegistryHealthChecker { private final ListX<HealthStatusChecker> status; public RegistryHealthChecker() { status = ListX.empty(); } @Autowired(required = false) public RegistryHealthChecker(final List<HealthStatusChecker> status) { this.status = ListX.fromIterable(status); } public boolean isOk() { return status.map(hs -> hs.isOk()) .reduce(Monoid.of(true, Semigroups.booleanConjunction)); } }