blob: e62cba7a8761148cbf2de97aef5a92e8e864098d [file] [log] [blame]
/**
* Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Florian Pirchner - Initial implementation
*/
package org.eclipse.osbp.ecview.core.common.notification;
import org.eclipse.osbp.ecview.core.common.context.IContext;
import org.eclipse.osbp.ecview.core.common.context.IViewContext;
import org.eclipse.osbp.ecview.core.common.services.IServiceProvider;
import org.eclipse.osbp.runtime.common.event.IEventBroker;
/**
* Provides the {@link ILifecycleService} implementation to the services of
* {@link IViewContext}.
*/
public class LifecycleServiceProvider implements IServiceProvider {
@Override
public boolean isFor(String selector, IContext context) {
return selector.equals(ILifecycleService.class.getName());
}
@SuppressWarnings("unchecked")
@Override
public <A> A createService(String selector, IContext context) {
return (A) new LifecycleService(
(IEventBroker) context.getService(IEventBroker.class.getName()));
}
}