WaterLocationsInterface.java [src/WaterLocations] Revision: default  Date:
package WaterLocations;

import java.util.ArrayList;

/**
 * Classes implementing this interface must have methods that accept 2 latitude
 * longitude pairs, return web service results.
 * 
 * Last Updated: 27-June-2019
 * @author robert, Tyler Wible
 * @since April-2017
 */
public interface WaterLocationsInterface {

    /**
     * Interfaces with the water gauge locations restful web services for a set
     * of search parameters for available stations.
     *
     * @param minLat the minimum latitude for the station search
     * @param maxLat the maximum latitude for the station search
     * @param minLong the minimum longitude the station search
     * @param maxLong the maximum longitude for the station search
     * @param keepHistoricTF whether historic gages for this database should be included (true) or not (false)
     * @return an ArrayList<String> containing the raw web service result(s)
     * @throws WaterLocations.WaterLocationsException
     */
    public ArrayList<String> downloadStations(String minLat, String maxLat, String minLong, String maxLong, boolean keepHistoricTF) throws WaterLocationsException;

    /**
     * Interfaces with the water gauge locations restful web services for a set
     * of search parameters for available stations
     *
     * @param minLat the minimum latitude for the station search
     * @param maxLat the maximum latitude for the station search
     * @param minLong the minimum longitude the station search
     * @param maxLong the maximum longitude for the station search
     * @param keepHistoricTF whether historic gages for this database should be included (true) or not (false)
     * @return JSONArray of stations objects within the bounding lat/long box
     * @throws WaterLocations.WaterLocationsException
     * @throws IOException
     */
    public ArrayList<Station> getStations(String minLat, String maxLat, String minLong, String maxLong, boolean keepHistoricTF) throws WaterLocationsException;
}