Package name.shamansir.mvp4glayout.client.mvp

Source Code of name.shamansir.mvp4glayout.client.mvp.PortalsHistoryConverter

package name.shamansir.mvp4glayout.client.mvp;

import com.mvp4g.client.history.HistoryConverter;

import name.shamansir.mvp4glayout.client.exception.PortalNotFoundException;
import name.shamansir.mvp4glayout.client.ui.LayoutBuilder;
import name.shamansir.mvp4glayout.client.ui.LayoutBuilders;
import name.shamansir.mvp4glayout.client.ui.Portal;
import name.shamansir.mvp4glayout.client.ui.Portal.PortalUrl;
import name.shamansir.mvp4glayout.client.ui.Portal.PortalUrlBuilder;
import name.shamansir.mvp4glayout.client.ui.Portal.UrlBuilder;
import name.shamansir.mvp4glayout.client.ui.structure.Group;

public abstract class PortalsHistoryConverter<E extends ChildEventBus> implements HistoryConverter<E> {

    protected final Group group;
    protected final LayoutBuilder<E> layout;
    protected final UrlBuilder url = PortalUrlBuilder.get();
   
    protected PortalsHistoryConverter(Group group) {
      this.group = group;
      this.layout = LayoutBuilders.get(group);   
    }
   
    @Override
    public final void convertFromToken(String event, String param, E eventBus) {
     
      try {
         
        // get current URL and portal
        final PortalUrl url = PortalUrl.fromEvent(group, event, param);
        final Portal view = url.view();
       
        // prepare layout
        eventBus.newPortal(view, layout.make(view, eventBus));
     
        // dispatch current URL
        convertFromUrl(url, url.view(), eventBus);
       
      } catch (PortalNotFoundException pnfe) {
       
        eventBus.portalNotFound(pnfe);
       
      }
     
    }
   
    protected abstract void convertFromUrl(PortalUrl url, Portal view, E eventBus);

    @Override
    public boolean isCrawlable() {
      return false;
    }

}
TOP

Related Classes of name.shamansir.mvp4glayout.client.mvp.PortalsHistoryConverter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.