//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.core.manager; import uk.gov.dstl.baleen.core.utils.YamlConfiguration; import uk.gov.dstl.baleen.exceptions.BaleenException; /** * A service component of Baleen used by the manager. * * * */ public interface BaleenComponent { /** * Configure the component from YAML. * * @param configuration The YamlConfiguration object containing configuration for this component * * @throws BaleenException */ void configure(YamlConfiguration configuration) throws BaleenException; /** * Sets the component to active (optional, may be active immediate on * configuration) * * @throws BaleenException * */ void start() throws BaleenException; /** * Stop the component / disabled (optional, may be ignored by component) * * @throws BaleenException */ void stop() throws BaleenException; }