Class NotifyingDataChangeListener
- java.lang.Object
-
- org.opendaylight.ovsdb.utils.mdsal.utils.NotifyingDataChangeListener
-
- All Implemented Interfaces:
AutoCloseable
,EventListener
,org.opendaylight.mdsal.binding.api.DataTreeChangeListener<org.opendaylight.yangtools.yang.binding.DataObject>
public final class NotifyingDataChangeListener extends Object implements AutoCloseable, org.opendaylight.mdsal.binding.api.DataTreeChangeListener<org.opendaylight.yangtools.yang.binding.DataObject>
This class provides methods for checking or waiting for various md-sal operations to complete. Once an instance is created one must invoke the registerDataChangeListener method with a DataBroker.
-
-
Field Summary
Fields Modifier and Type Field Description static int
BIT_ALL
static int
BIT_CREATE
static int
BIT_DELETE
static int
BIT_UPDATE
-
Constructor Summary
Constructors Constructor Description NotifyingDataChangeListener(org.opendaylight.mdsal.common.api.LogicalDatastoreType type, int mask, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> iid, List<NotifyingDataChangeListener> waitList)
NotifyingDataChangeListener(org.opendaylight.mdsal.common.api.LogicalDatastoreType type, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> iid, List<NotifyingDataChangeListener> waitList)
Create a new NotifyingDataChangeListener.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
void
close()
boolean
isCreated(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> path)
boolean
isRemoved(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> path)
boolean
isUpdated(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> path)
void
modify(org.opendaylight.mdsal.common.api.LogicalDatastoreType newType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> newIid)
Completely reset the state of this NotifyingDataChangeListener.void
onDataTreeChanged(Collection<org.opendaylight.mdsal.binding.api.DataTreeModification<org.opendaylight.yangtools.yang.binding.DataObject>> changes)
void
registerDataChangeListener(org.opendaylight.mdsal.binding.api.DataBroker dataBroker)
void
setlisten(boolean value)
void
setMask(int mask)
void
waitForCreation()
void
waitForCreation(long timeout)
void
waitForDeletion()
void
waitForDeletion(long timeout)
void
waitForUpdate()
void
waitForUpdate(long timeout)
-
-
-
Field Detail
-
BIT_CREATE
public static final int BIT_CREATE
- See Also:
- Constant Field Values
-
BIT_UPDATE
public static final int BIT_UPDATE
- See Also:
- Constant Field Values
-
BIT_DELETE
public static final int BIT_DELETE
- See Also:
- Constant Field Values
-
BIT_ALL
public static final int BIT_ALL
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NotifyingDataChangeListener
public NotifyingDataChangeListener(org.opendaylight.mdsal.common.api.LogicalDatastoreType type, int mask, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> iid, List<NotifyingDataChangeListener> waitList)
-
NotifyingDataChangeListener
public NotifyingDataChangeListener(org.opendaylight.mdsal.common.api.LogicalDatastoreType type, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> iid, List<NotifyingDataChangeListener> waitList)
Create a new NotifyingDataChangeListener.- Parameters:
type
- DataStore typeiid
- of the md-sal object we're waiting forwaitList
- for tracking outstanding changes
-
-
Method Detail
-
modify
public void modify(org.opendaylight.mdsal.common.api.LogicalDatastoreType newType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> newIid)
Completely reset the state of this NotifyingDataChangeListener.- Parameters:
newType
- DataStore typenewIid
- of the md-sal object we're waiting for
-
setlisten
public void setlisten(boolean value)
-
setMask
public void setMask(int mask)
-
onDataTreeChanged
public void onDataTreeChanged(Collection<org.opendaylight.mdsal.binding.api.DataTreeModification<org.opendaylight.yangtools.yang.binding.DataObject>> changes)
- Specified by:
onDataTreeChanged
in interfaceorg.opendaylight.mdsal.binding.api.DataTreeChangeListener<org.opendaylight.yangtools.yang.binding.DataObject>
-
isCreated
public boolean isCreated(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> path)
-
isUpdated
public boolean isUpdated(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> path)
-
isRemoved
public boolean isRemoved(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> path)
-
clear
public void clear()
-
registerDataChangeListener
public void registerDataChangeListener(org.opendaylight.mdsal.binding.api.DataBroker dataBroker)
-
waitForCreation
public void waitForCreation() throws InterruptedException
- Throws:
InterruptedException
-
waitForCreation
public void waitForCreation(long timeout) throws InterruptedException
- Throws:
InterruptedException
-
waitForUpdate
public void waitForUpdate() throws InterruptedException
- Throws:
InterruptedException
-
waitForUpdate
public void waitForUpdate(long timeout) throws InterruptedException
- Throws:
InterruptedException
-
waitForDeletion
public void waitForDeletion() throws InterruptedException
- Throws:
InterruptedException
-
waitForDeletion
public void waitForDeletion(long timeout) throws InterruptedException
- Throws:
InterruptedException
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
-