Class ActivityManagerImpl

    • Constructor Detail

      • ActivityManagerImpl

        public ActivityManagerImpl()
    • Method Detail

      • getActivities

        public <T extends ActivitySet<T> getActivities​(Class<T> clazz)
        Description copied from interface: ActivityManager
        Obtains the set of activity instances which implement the given type, are active, and that the current user has permission to access.
        Specified by:
        getActivities in interface ActivityManager
        Parameters:
        clazz - the type of activities to enumerate. Must not be null. Passing in Activity.class will yield all possible activity types.
        Returns:
        the set of available activities. Never null. Each object in the returned set must be freed by the caller via a call to ClientBeanManager.destroyBean(Object).
      • getSplashScreenInterceptor

        public SplashScreenActivity getSplashScreenInterceptor​(org.uberfire.mvp.PlaceRequest placeRequest)
        Description copied from interface: ActivityManager
        Returns the splash screen activity that should appear upon navigation to the given place, if such a splash screen exists. In case multiple splash screens would intercept the given place request, one of them is chosen at random. TODO (UF-93) : make this deterministic.
        Specified by:
        getSplashScreenInterceptor in interface ActivityManager
        Parameters:
        placeRequest - the place request to look up a splash screen for.
        Returns:
        a splash screen which should be displayed upon navigation to the given place, or null if no such activity exists.
      • getActivities

        public Set<Activity> getActivities​(org.uberfire.mvp.PlaceRequest placeRequest,
                                           boolean secure)
        Description copied from interface: ActivityManager
        Returns the set of activities that can handle the given PlaceRequest. The activities will be in the started state (see Activity for details on the activity lifecycle). If the PlaceRequest is for a certain place ID, this method will return a set with at most one activity in it. If the PlaceRequest is for a certain path, the returned set can contain any number of activities.
        Specified by:
        getActivities in interface ActivityManager
        Parameters:
        placeRequest - the PlaceRequest to resolve activities for. Although null is permitted for convenience, it always resolves to the empty set.
        secure - flag indicating if calls to the AuthorizationManager service are required in order to determine which activities are available.
        Returns:
        an unmodifiable set of activities that can handle the given PlaceRequest. Never null, but can be empty. To prevent memory leaks, pass Activity in the returned set to ActivityManager.destroyActivity(Activity) when you are done with it.
      • containsActivity

        public boolean containsActivity​(org.uberfire.mvp.PlaceRequest placeRequest)
        Description copied from interface: ActivityManager
        Returns an active, accessible activity that can handle the given PlaceRequest. In case there are multiple activities that can handle the given place request, one of them is chosen at random. TODO (UF-92) : make this deterministic.
        Specified by:
        containsActivity in interface ActivityManager
        Returns:
        an activity that handles the given PlaceRequest, or null if no available activity can handle. No actual type checking is performed! If you guess the type wrong, you will have an instance of the wrong type. The only truly "safe" type to guess is Activity..
      • getActivity

        public Activity getActivity​(org.uberfire.mvp.PlaceRequest placeRequest,
                                    boolean secure)
        Description copied from interface: ActivityManager
        Finds an activity that can handle the given PlaceRequest, creating and starting a new one if necessary.
        Specified by:
        getActivity in interface ActivityManager
        Parameters:
        placeRequest - the place the resolved activity should handle
        secure - flag indicating if calls to the AuthorizationManager service are required in order to determine if the resulting activity is available.
        Returns:
        an activity that can handle the request, or null if no known activity can handle it. If the return value is non-null, it will be an activity in the started or open state.
      • getActivity

        public <T extends Activity> T getActivity​(Class<T> clazz,
                                                  org.uberfire.mvp.PlaceRequest placeRequest,
                                                  boolean secure)
        Description copied from interface: ActivityManager
        Works like ActivityManager.getActivities(PlaceRequest, boolean) but performs an unsafe cast to treat the return value as an instance of the given class. Only use this method if you are absolutely sure which activity type matches the request. If you are wrong, there will not be a ClassCastException as a result of this call. The safer approach is to use ActivityManager.getActivities(PlaceRequest, boolean) and cast its return value explicitly.
        Specified by:
        getActivity in interface ActivityManager
        Parameters:
        clazz - the type of activity that you expect to find.
        placeRequest - the place the resolved activity should handle
        secure - flag indicating if calls to the AuthorizationManager service are required in order to determine if the resulting activity is available.
        Returns:
        an activity that can handle the request, or null if no known activity can handle it. If the return value is non-null, it will be an activity in the started or open state.
      • destroyActivity

        public void destroyActivity​(Activity activity)
        Description copied from interface: ActivityManager
        Destroys the given Activity bean instance, making it eligible for garbage collection.
        Specified by:
        destroyActivity in interface ActivityManager
        Parameters:
        activity - the activity instance to destroy. Warning: do not use with instances of SplashScreenActivity. These are ApplicationScoped and cannot be destroyed.
      • isStarted

        public boolean isStarted​(Activity activity)
        Description copied from interface: ActivityManager
        Returns true if the given Activity instance is currently in the started or open state and managed by this ActivityManager.
        Specified by:
        isStarted in interface ActivityManager
        Parameters:
        activity - the activity to check
        Returns:
        true if the activity is started; false if it is uninitialized.