Class HwvtepNodeDataListener<D extends org.opendaylight.genius.infra.Datastore,​T extends org.opendaylight.yangtools.yang.binding.DataObject>

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.util.EventListener, org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener<T>, org.opendaylight.serviceutils.tools.mdsal.listener.ChainableDataTreeChangeListener<T>

    public abstract class HwvtepNodeDataListener<D extends org.opendaylight.genius.infra.Datastore,​T extends org.opendaylight.yangtools.yang.binding.DataObject>
    extends org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<T,​HwvtepNodeDataListener<D,​T>>
    Listens for the node children data updates and propagates the updates between ha child and parent nodes. When an operational child node data is updated, it is copied to parent When a config parent node data is updated , it is copied to all its children.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase

        org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase.DataTreeChangeHandler
    • Field Summary

      • Fields inherited from class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase

        clazz
    • Constructor Summary

      Constructors 
      Constructor Description
      HwvtepNodeDataListener​(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache hwvtepNodeHACache, java.lang.Class<T> clazz, java.lang.Class<HwvtepNodeDataListener<D,​T>> eventClazz, MergeCommand<T,​?,​?> mergeCommand, java.lang.Class<D> datastoreType)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void add​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> identifier, T dataAdded)  
      protected java.util.Set<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> getChildrenForHANode​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> identifier)  
      protected HwvtepNodeDataListener<D,​T> getDataTreeChangeListener()  
      protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> getHAParent​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> identifier)  
      protected abstract org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> getWildCardPath()  
      protected void remove​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> identifier, T dataRemoved)  
      protected void update​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> key, T before, T after)  
      • Methods inherited from class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase

        addAfterListener, addBeforeListener, close, deregisterListener, init, onDataTreeChanged, registerListener
      • Methods inherited from class java.lang.Object

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

      • HwvtepNodeDataListener

        public HwvtepNodeDataListener​(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
                                      org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache hwvtepNodeHACache,
                                      java.lang.Class<T> clazz,
                                      java.lang.Class<HwvtepNodeDataListener<D,​T>> eventClazz,
                                      MergeCommand<T,​?,​?> mergeCommand,
                                      java.lang.Class<D> datastoreType)
    • Method Detail

      • getWildCardPath

        protected abstract org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> getWildCardPath()
        Specified by:
        getWildCardPath in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<T extends org.opendaylight.yangtools.yang.binding.DataObject,​HwvtepNodeDataListener<D extends org.opendaylight.genius.infra.Datastore,​T extends org.opendaylight.yangtools.yang.binding.DataObject>>
      • add

        protected void add​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> identifier,
                           T dataAdded)
        Specified by:
        add in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<T extends org.opendaylight.yangtools.yang.binding.DataObject,​HwvtepNodeDataListener<D extends org.opendaylight.genius.infra.Datastore,​T extends org.opendaylight.yangtools.yang.binding.DataObject>>
      • update

        protected void update​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> key,
                              T before,
                              T after)
        Specified by:
        update in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<T extends org.opendaylight.yangtools.yang.binding.DataObject,​HwvtepNodeDataListener<D extends org.opendaylight.genius.infra.Datastore,​T extends org.opendaylight.yangtools.yang.binding.DataObject>>
      • remove

        protected void remove​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> identifier,
                              T dataRemoved)
        Specified by:
        remove in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<T extends org.opendaylight.yangtools.yang.binding.DataObject,​HwvtepNodeDataListener<D extends org.opendaylight.genius.infra.Datastore,​T extends org.opendaylight.yangtools.yang.binding.DataObject>>
      • getDataTreeChangeListener

        protected HwvtepNodeDataListener<D,​T> getDataTreeChangeListener()
        Specified by:
        getDataTreeChangeListener in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<T extends org.opendaylight.yangtools.yang.binding.DataObject,​HwvtepNodeDataListener<D extends org.opendaylight.genius.infra.Datastore,​T extends org.opendaylight.yangtools.yang.binding.DataObject>>
      • getChildrenForHANode

        protected java.util.Set<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> getChildrenForHANode​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> identifier)
      • getHAParent

        protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> getHAParent​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> identifier)