package rectangledbmi.com.pittsburghrealtimetracker.selection; import java.util.Set; import rectangledbmi.com.pittsburghrealtimetracker.world.Route; import timber.log.Timber; /** * An object that contains the selected route and/or all selected routes. * * Primarily used in the selection subject * * @author Jeremy Jao */ public class RouteSelection { public static RouteSelection create(Route route) { return new RouteSelection(route); } public static RouteSelection create(Set<String> selectedRoutes) { return new RouteSelection(selectedRoutes); } public static RouteSelection create(Route route, Set<String> selectedRoutes) { return new RouteSelection(route, selectedRoutes); } private Route toggledRoute; private Set<String> selectedRoutes; private RouteSelection(Route route) { toggledRoute = route; Timber.d("Only initiating route for selection: %s", route.getRoute()); } private RouteSelection(Set<String> selectedRoutes) { this.selectedRoutes = selectedRoutes; Timber.d("Only initiating route for selection: %s", selectedRoutes.toString()); } private RouteSelection(Route route, Set<String> selectedRoutes) { toggledRoute = route; this.selectedRoutes = selectedRoutes; Timber.d("getting both routes: %s, %s", route.getRoute(), selectedRoutes.toString()); } /** * * @return the toggled route */ public Route getToggledRoute() { return toggledRoute; } /** * * @return the selected route */ public Set<String> getSelectedRoutes() { return selectedRoutes; } }