/*
* Copyright 2015 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.uberfire.client.mvp;
import java.util.Set;
import javax.enterprise.context.ApplicationScoped;
import org.jboss.errai.ioc.client.api.EnabledByProperty;
import org.uberfire.mvp.PlaceRequest;
/**
* This {@link ActivityManager} implementation is active for plugins only, to
* satisfy compile-time dependencies (of other components on the plugin's
* classpath that require an activity manager). Plugins don't get access to the
* main application's {@link ActivityManager} as it would allow them to control
* all activities of the application, not just their own.
*/
@ApplicationScoped
@EnabledByProperty(value = "uberfire.plugin.mode.active")
public class PluginActivityManagerImpl implements ActivityManager {
private void fail() {
// Plugins should not be able to interact with the activity manager.
throw new RuntimeException("Invalid use of ActivityManager in plugin.");
}
@Override
public <T extends Activity> Set<T> getActivities(final Class<T> clazz) {
fail();
return null;
}
@Override
public SplashScreenActivity getSplashScreenInterceptor(final PlaceRequest placeRequest) {
fail();
return null;
}
@Override
public Set<Activity> getActivities(final PlaceRequest placeRequest) {
fail();
return null;
}
@Override
public boolean containsActivity(final PlaceRequest placeRequest) {
fail();
return false;
}
@Override
public Activity getActivity(final PlaceRequest placeRequest) {
fail();
return null;
}
@Override
public <T extends Activity> T getActivity(final Class<T> clazz,
final PlaceRequest placeRequest) {
fail();
return null;
}
@Override
public void destroyActivity(final Activity activity) {
fail();
}
@Override
public boolean isStarted(final Activity activity) {
fail();
return false;
}
@Override
public Set<Activity> getActivities(PlaceRequest placeRequest,
boolean secure) {
fail();
return null;
}
@Override
public Activity getActivity(PlaceRequest placeRequest,
boolean secure) {
fail();
return null;
}
@Override
public <T extends Activity> T getActivity(Class<T> clazz,
PlaceRequest placeRequest,
boolean secure) {
fail();
return null;
}
}