package org.jboss.arquillian.drone.webdriver.binary.downloading.source; import org.jboss.arquillian.drone.webdriver.binary.downloading.ExternalBinary; /** * A representation of an external source of some binarie. */ public interface ExternalBinarySource { /** * Retrieves information about the latest release of binary and returns an instance of {@link ExternalBinary} that * represents the latest release. * * @return An instance of {@link ExternalBinary} that contains information about the latest release of the binary. * * @throws Exception * If anything bad happens */ ExternalBinary getLatestRelease() throws Exception; /** * Retrieves information about a binary release with the desired version and returns an instance of * {@link ExternalBinary} that represents the found release. * * @param version * A version of a binary release that should be retrieved. * * @return An instance of {@link ExternalBinary} that contains information about a binary release with the desired * version. * * @throws Exception */ ExternalBinary getReleaseForVersion(String version) throws Exception; }