use of com.iluwatar.flux.store.ContentStore in project java-design-patterns by iluwatar.
the class App method main.
/**
* Program entry point
*
* @param args command line args
*/
public static void main(String[] args) {
// initialize and wire the system
MenuStore menuStore = new MenuStore();
Dispatcher.getInstance().registerStore(menuStore);
ContentStore contentStore = new ContentStore();
Dispatcher.getInstance().registerStore(contentStore);
MenuView menuView = new MenuView();
menuStore.registerView(menuView);
ContentView contentView = new ContentView();
contentStore.registerView(contentView);
// render initial view
menuView.render();
contentView.render();
// user clicks another menu item
// this triggers action dispatching and eventually causes views to render with new content
menuView.itemClicked(MenuItem.COMPANY);
}
use of com.iluwatar.flux.store.ContentStore in project java-design-patterns by iluwatar.
the class ContentView method storeChanged.
@Override
public void storeChanged(Store store) {
ContentStore contentStore = (ContentStore) store;
content = contentStore.getContent();
render();
}
use of com.iluwatar.flux.store.ContentStore in project java-design-patterns by iluwatar.
the class ContentViewTest method testStoreChanged.
@Test
public void testStoreChanged() throws Exception {
final ContentStore store = mock(ContentStore.class);
when(store.getContent()).thenReturn(Content.PRODUCTS);
final ContentView view = new ContentView();
view.storeChanged(store);
verify(store, times(1)).getContent();
verifyNoMoreInteractions(store);
}
Aggregations