/**
  * Injects the various resources and performs other bindings.
  *
  * <p>Never call directly, it should only be called by GIN. Method injection is used instead of
  * constructor injection, because the latter doesn't work well with GWT generators.
  *
  * @param placeManager The {@link PlaceManager}.
  * @param eventBus The {@link EventBus}.
  */
 @Inject
 protected void bind(final PlaceManager placeManager, EventBus eventBus) {
   this.eventBus = eventBus;
   this.placeManager = placeManager;
   eventBus.addHandler(
       PlaceRequestInternalEvent.getType(),
       new PlaceRequestInternalHandler() {
         @Override
         public void onPlaceRequest(PlaceRequestInternalEvent event) {
           if (event.isHandled()) {
             return;
           }
           PlaceRequest request = event.getRequest();
           if (matchesRequest(request)) {
             event.setHandled();
             if (canReveal()) {
               handleRequest(request, event.shouldUpdateBrowserHistory());
             } else {
               event.setUnauthorized();
             }
           }
         }
       });
   eventBus.addHandler(
       GetPlaceTitleEvent.getType(),
       new GetPlaceTitleHandler() {
         @Override
         public void onGetPlaceTitle(GetPlaceTitleEvent event) {
           if (event.isHandled()) {
             return;
           }
           PlaceRequest request = event.getRequest();
           if (matchesRequest(request)) {
             if (canReveal()) {
               event.setHandled();
               getPlaceTitle(event);
             }
           }
         }
       });
 }
Beispiel #2
0
  /**
   * Injects the various resources and performs other bindings.
   *
   * <p>Never call directly, it should only be called by GIN. Method injection is used instead of
   * constructor injection, because the latter doesn't work well with GWT generators.
   *
   * @param placeManager The {@link PlaceManager}.
   * @param eventBus The {@link EventBus}.
   */
  @Inject
  protected void bind(final PlaceManager placeManager, EventBus eventBus) {
    this.placeManager = placeManager;
    this.eventBus = eventBus;

    addRegisteredHandler(
        PlaceRequestInternalEvent.getType(),
        event -> {
          if (event.isHandled()) {
            return;
          }
          PlaceRequest request = event.getRequest();
          if (matchesRequest(request)) {
            event.setHandled();
            if (canReveal()) {
              handleRequest(request, event.shouldUpdateBrowserHistory());
            } else {
              event.setUnauthorized();
            }
          }
        });
  }