Class DataTreeEventCallbackRegistrarImpl

  • All Implemented Interfaces:
    DataTreeEventCallbackRegistrar

    @Beta
    @Singleton
    public class DataTreeEventCallbackRegistrarImpl
    extends java.lang.Object
    implements DataTreeEventCallbackRegistrar
    Implementation of DataTreeEventCallbackRegistrar.
    Author:
    Josh original idea and design feedback, Michael Vorburger.ch API design and first implementation, Tom Pantelis review and feedback on concurrency issue in implementation
    • Constructor Summary

      Constructors 
      Constructor Description
      DataTreeEventCallbackRegistrarImpl​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)  
      DataTreeEventCallbackRegistrarImpl​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, java.util.concurrent.ScheduledExecutorService scheduledExecutorService)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      onAdd​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, java.util.function.Function<T,​DataTreeEventCallbackRegistrar.NextAction> callback)  
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      onAdd​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, java.util.function.Function<T,​DataTreeEventCallbackRegistrar.NextAction> callback, java.time.Duration timeoutDuration, java.util.function.Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)  
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      onAddOrUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, java.util.function.BiFunction<@Nullable T,​T,​DataTreeEventCallbackRegistrar.NextAction> callback, java.time.Duration timeoutDuration, java.util.function.Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)  
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      onAddOrUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, java.util.function.BiFunction<T,​T,​DataTreeEventCallbackRegistrar.NextAction> callback)
      Call back when expected instance was added or updated, with NextAction support.
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      onRemove​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, java.util.function.Function<T,​DataTreeEventCallbackRegistrar.NextAction> callback)  
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      onRemove​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, java.util.function.Function<T,​DataTreeEventCallbackRegistrar.NextAction> callback, java.time.Duration timeoutDuration, java.util.function.Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)  
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      onUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, java.util.function.BiFunction<T,​T,​DataTreeEventCallbackRegistrar.NextAction> callback)  
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      onUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, java.util.function.BiFunction<T,​T,​DataTreeEventCallbackRegistrar.NextAction> callback, java.time.Duration timeoutDuration, java.util.function.Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DataTreeEventCallbackRegistrarImpl

        @Inject
        public DataTreeEventCallbackRegistrarImpl​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
      • DataTreeEventCallbackRegistrarImpl

        public DataTreeEventCallbackRegistrarImpl​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
                                                  java.util.concurrent.ScheduledExecutorService scheduledExecutorService)
    • Method Detail

      • onUpdate

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
                                                                                            org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
                                                                                            java.util.function.BiFunction<T,​T,​DataTreeEventCallbackRegistrar.NextAction> callback)
        Specified by:
        onUpdate in interface DataTreeEventCallbackRegistrar
      • onUpdate

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
                                                                                            org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
                                                                                            java.util.function.BiFunction<T,​T,​DataTreeEventCallbackRegistrar.NextAction> callback,
                                                                                            java.time.Duration timeoutDuration,
                                                                                            java.util.function.Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
        Specified by:
        onUpdate in interface DataTreeEventCallbackRegistrar
      • onAdd

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAdd​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
                                                                                         org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
                                                                                         java.util.function.Function<T,​DataTreeEventCallbackRegistrar.NextAction> callback)
        Specified by:
        onAdd in interface DataTreeEventCallbackRegistrar
      • onAdd

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAdd​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
                                                                                         org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
                                                                                         java.util.function.Function<T,​DataTreeEventCallbackRegistrar.NextAction> callback,
                                                                                         java.time.Duration timeoutDuration,
                                                                                         java.util.function.Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
        Specified by:
        onAdd in interface DataTreeEventCallbackRegistrar
      • onAddOrUpdate

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAddOrUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
                                                                                                 org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
                                                                                                 java.util.function.BiFunction<T,​T,​DataTreeEventCallbackRegistrar.NextAction> callback)
        Description copied from interface: DataTreeEventCallbackRegistrar
        Call back when expected instance was added or updated, with NextAction support.
        Specified by:
        onAddOrUpdate in interface DataTreeEventCallbackRegistrar
        Parameters:
        store - the expected data store
        path - the path to watch for changes on
        callback - the callback as BiFunction, where the first argument is the data before the update or null in case of an add, the second argument is the data after the update (or add; never null), and the returned value determines whether to keep listening for changes or not anymore.
      • onAddOrUpdate

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAddOrUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
                                                                                                 org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
                                                                                                 java.util.function.BiFunction<@Nullable T,​T,​DataTreeEventCallbackRegistrar.NextAction> callback,
                                                                                                 java.time.Duration timeoutDuration,
                                                                                                 java.util.function.Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
        Specified by:
        onAddOrUpdate in interface DataTreeEventCallbackRegistrar
      • onRemove

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onRemove​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
                                                                                            org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
                                                                                            java.util.function.Function<T,​DataTreeEventCallbackRegistrar.NextAction> callback)
        Specified by:
        onRemove in interface DataTreeEventCallbackRegistrar
      • onRemove

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onRemove​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
                                                                                            org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
                                                                                            java.util.function.Function<T,​DataTreeEventCallbackRegistrar.NextAction> callback,
                                                                                            java.time.Duration timeoutDuration,
                                                                                            java.util.function.Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
        Specified by:
        onRemove in interface DataTreeEventCallbackRegistrar