/*******************************************************************************
* Copyright (c) 2007, 2014 compeople AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* compeople AG - initial API and implementation
*******************************************************************************/
package org.eclipse.riena.ui.workarea;
import org.eclipse.riena.core.singleton.SingletonProvider;
import org.eclipse.riena.internal.ui.workarea.registry.WorkareaDefinitionRegistryFacade;
import org.eclipse.riena.navigation.INavigationNode;
import org.eclipse.riena.ui.ridgets.controller.IController;
public final class WorkareaManager {
private final static SingletonProvider<WorkareaManager> WM = new SingletonProvider<WorkareaManager>(
WorkareaManager.class);
private final WorkareaDefinitionRegistryFacade registry;
static public WorkareaManager getInstance() {
return WM.getInstance();
}
private WorkareaManager() {
registry = WorkareaDefinitionRegistryFacade.getInstance();
}
public IWorkareaDefinition getDefinition(final Object key) {
return registry.getDefinition(key);
}
public IWorkareaDefinition registerDefinition(final INavigationNode<?> node, final Object viewId) {
return registerDefinition(node, null, viewId, false);
}
public IWorkareaDefinition registerDefinition(final String id, final Object viewId) {
return registerDefinition(id, null, viewId, false);
}
public IWorkareaDefinition registerDefinition(final INavigationNode<?> node, final Object viewId,
final boolean isViewShared) {
return registerDefinition(node, null, viewId, isViewShared);
}
public IWorkareaDefinition registerDefinition(final String id, final Object viewId, final boolean isViewShared) {
return registerDefinition(id, null, viewId, isViewShared);
}
public IWorkareaDefinition registerDefinition(final INavigationNode<?> node,
final Class<? extends IController> controllerClass, final Object viewId) {
return registerDefinition(node, controllerClass, viewId, false);
}
public IWorkareaDefinition registerDefinition(final String id, final Class<? extends IController> controllerClass,
final Object viewId) {
return registerDefinition(id, controllerClass, viewId, false);
}
public IWorkareaDefinition registerDefinition(final INavigationNode<?> node,
final Class<? extends IController> controllerClass, final Object viewId, final boolean isViewShared) {
return registry.registerDefinition(node, controllerClass, viewId, isViewShared);
}
public IWorkareaDefinition registerDefinition(final String id, final Class<? extends IController> controllerClass,
final Object viewId, final boolean isViewShared) {
return registry.registerDefinition(id, controllerClass, viewId, isViewShared);
}
}