package com.rapidftr.controllers; import com.rapidftr.controllers.internal.Controller; import com.rapidftr.controllers.internal.Dispatcher; import com.rapidftr.datastore.Children; import com.rapidftr.datastore.ChildrenRecordStore; import com.rapidftr.datastore.StringField; import com.rapidftr.screens.SearchChildScreen; import com.rapidftr.screens.internal.CustomScreen; import com.rapidftr.screens.internal.UiStack; public class SearchChildController extends Controller { private final ChildrenRecordStore store; public SearchChildController(CustomScreen screen, UiStack uiStack, ChildrenRecordStore store, Dispatcher dispatcher) { super(screen, uiStack, dispatcher); this.store = store; } public void showChildSearchScreen() { show(); } public void searchAndDisplayChildren(String searchQuery) { Children children = store.search(searchQuery); if (children.count() != 0) { dispatcher.viewChildren(children.sortBy(new StringField("name"))); } else { getSearchChildScreen().showNoSearchResultsAlert(); } } private SearchChildScreen getSearchChildScreen() { return (SearchChildScreen) currentScreen; } }