*/
package org.opendaylight.mdsal.binding.dom.adapter.osgi;
-import com.google.common.annotations.Beta;
import java.util.Map;
import java.util.Set;
-import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.mdsal.binding.api.ActionProviderService;
-import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.ActionSpec;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yangtools.concepts.ObjectRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.Action;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
-@Beta
@Component(factory = OSGiActionProviderService.FACTORY_NAME)
public final class OSGiActionProviderService extends AbstractAdaptedService<ActionProviderService>
implements ActionProviderService {
// OSGi DS Component Factory name
static final String FACTORY_NAME = "org.opendaylight.mdsal.binding.dom.adapter.osgi.OSGiActionProviderService";
- public OSGiActionProviderService() {
- super(ActionProviderService.class);
- }
-
- @Override
- public <O extends @NonNull DataObject, P extends @NonNull InstanceIdentifier<O>,
- T extends @NonNull Action<P, ?, ?>, S extends T> @NonNull ObjectRegistration<S> registerImplementation(
- final Class<T> actionInterface, final S implementation, final LogicalDatastoreType datastore,
- final Set<@NonNull DataTreeIdentifier<O>> validNodes) {
- return delegate().registerImplementation(actionInterface, implementation, datastore, validNodes);
- }
-
@Activate
- void activate(final Map<String, ?> properties) {
- start(properties);
+ public OSGiActionProviderService(final Map<String, ?> properties) {
+ super(ActionProviderService.class, properties);
}
@Deactivate
- void deactivate() {
- stop();
+ void deactivate(final int reason) {
+ stop(reason);
+ }
+
+ @Override
+ public <P extends DataObject, A extends Action<? extends InstanceIdentifier<P>, ?, ?>>
+ Registration registerImplementation(final ActionSpec<A, P> spec, final A implementation,
+ final LogicalDatastoreType datastore, final Set<? extends InstanceIdentifier<P>> validNodes) {
+ return delegate.registerImplementation(spec, implementation, datastore, validNodes);
}
}