public interface DpDataCallback
Modifier and Type | Field and Description |
---|---|
static int |
M_ALL
Bit flag for all flags
|
static int |
M_CREATE
Bit flag for the
create(DpTrans,ConfObject[]) method. |
static int |
M_EXISTS_OPTIONAL
Bit flag for the
existsOptional(DpTrans,ConfObject[]) method. |
static int |
M_GET_ATTRS
Bit flag for the
getAttrs(DpTrans, ConfObject[], List) method. |
static int |
M_GET_CASE
Bit flag for the
getCase(DpTrans, ConfObject[], ConfObject[])
method. |
static int |
M_GET_ELEM
Bit flag for the
getElem(DpTrans,ConfObject[]) method. |
static int |
M_GET_NEXT
Bit flag for getting the next key for an element using an iterator
retrieved from the
iterator(DpTrans,ConfObject[]) method, and
converting the Java object into a key with the
getIteratorKey(DpTrans, ConfObject[], Object) method. |
static int |
M_GET_NEXT_OBJECT
Bit flag for getting the next object using an iterator retrieved from the
iterator(DpTrans,ConfObject[]) method, and converting the Java
object into an array of ConfValues with the
getIteratorObject(DpTrans, ConfObject[], Object) method. |
static int |
M_GET_OBJECT
Bit flag for the
getObject(DpTrans,ConfObject[]) method. |
static int |
M_MOVE_AFTER
Bit flag for the
moveAfter(DpTrans, ConfObject[], ConfKey)
method. |
static int |
M_NUM_INSTANCES
Bit flag for the
numInstances(DpTrans,ConfObject[]) method. |
static int |
M_REMOVE
Bit flag for the
remove(DpTrans,ConfObject[]) method. |
static int |
M_SET_ATTR
Bit flag for the
setAttr(DpTrans, ConfObject[], ConfAttributeValue) method. |
static int |
M_SET_CASE
Bit flag for the
setCase(DpTrans, ConfObject[], ConfObject[], ConfTag) method. |
static int |
M_SET_ELEM
Bit flag for the
setElem(DpTrans,ConfObject[],ConfValue) method. |
static int |
M_WRITE_ALL
Bit flag for the
writeAll(DpTrans, ConfObject[]) method. |
Modifier and Type | Method and Description |
---|---|
String |
callpoint()
The name of the callpoint
|
int |
create(DpTrans trans,
ConfObject[] kp)
This callback creates a new presence container, list entry or empty leaf.
|
boolean |
existsOptional(DpTrans trans,
ConfObject[] kp)
If we have presence containers or optional leafs (empty leafs) without a
type, we cannot use the getElem() callback to read such a leaf - since
the element is typeless.
|
int |
getAttrs(DpTrans trans,
ConfObject[] kp,
List<ConfAttributeValue> attrList)
This callback only needs to be implemented for callpoints specified for
configuration data, and only if attributes are enabled in the server
configuration (/confdConfig/enableAttributes set to true).
|
ConfObject |
getCase(DpTrans trans,
ConfObject[] kp,
ConfObject[] choice)
This callback method needs to return the currently chosen 'case' for a
'choice' construct.
|
ConfValue |
getElem(DpTrans trans,
ConfObject[] kp)
This callback method needs to return a specific leaf value.
|
ConfKey |
getIteratorKey(DpTrans trans,
ConfObject[] kp,
Object obj)
The following callback is used with the iterator above.
|
ConfValue[] |
getIteratorObject(DpTrans trans,
ConfObject[] kp,
Object obj)
The following callback is used with the iterator above.
|
List<ConfValue[]> |
getIteratorObjectList(DpTrans trans,
ConfObject[] kp,
Object obj,
Iterator<? extends Object> iterator)
The following callback is used as an replacement of the
getIteratorObject when a List of objects should be sent instead of a
single instance.
|
ConfObject[] |
getObject(DpTrans trans,
ConfObject[] kp)
The purpose of the callback is to return an array of values,
corresponding to a complete list entry in one swoop.
|
Iterator<? extends Object> |
iterator(DpTrans trans,
ConfObject[] kp)
This callback makes it possible for ConfD/NCS to traverse a set of list
entries.
|
DpDataFindNextIterator |
iterator(DpTrans trans,
ConfObject[] kp,
ConfFindNextType type,
ConfKey key)
This iterator method is a specialization of
iterator(DpTrans, ConfObject[])
in that it returns an extended iterator i.e. |
int |
mask()
Mask of flags for each method that is supported by this callback:
M_EXISTS_OPTIONAL
M_GET_ELEM
M_GET_NEXT
M_SET_ELEM
M_CREATE
M_REMOVE
M_NUM_INSTANCES
M_GET_OBJECT
M_GET_NEXT_OBJECT
M_GET_CASE
M_SET_CASE
M_GET_ATTRS
M_SET_ATTR
M_MOVE_AFTER
M_WRITE_ALL
|
int |
moveAfter(DpTrans trans,
ConfObject[] kp,
ConfKey prevkey)
This callback only needs to be implemented if we provide configuration
data that has YANG lists with a ordered-by user statement.
|
int |
numInstances(DpTrans trans,
ConfObject[] kp)
This callback can optionally be implemented.
|
int |
remove(DpTrans trans,
ConfObject[] kp)
This callback is used to remove a presence container, list entry or empty
leaf and all its sub elements.
|
int |
setAttr(DpTrans trans,
ConfObject[] kp,
ConfAttributeValue attr)
This callback also only needs to be implemented for callpoints specified
for configuration data, and only if attributes are enabled in the server
configuration (/confdConfig/enableAttributes set to true).
|
int |
setCase(DpTrans trans,
ConfObject[] kp,
ConfObject[] choice,
ConfTag caseval)
This callback method sets the currently chosen 'case' for a 'choice'
construct.
|
int |
setElem(DpTrans trans,
ConfObject[] kp,
ConfValue newval)
This callback writes a data leaf.
|
int |
writeAll(DpTrans trans,
ConfObject[] kp)
This callback method sets the currently chosen 'case' for a 'choice'
construct.
|
static final int M_ALL
static final int M_CREATE
create(DpTrans,ConfObject[])
method.static final int M_EXISTS_OPTIONAL
existsOptional(DpTrans,ConfObject[])
method.static final int M_GET_ATTRS
getAttrs(DpTrans, ConfObject[], List)
method.static final int M_GET_CASE
getCase(DpTrans, ConfObject[], ConfObject[])
method.static final int M_GET_ELEM
getElem(DpTrans,ConfObject[])
method.static final int M_GET_NEXT
iterator(DpTrans,ConfObject[])
method, and
converting the Java object into a key with the
getIteratorKey(DpTrans, ConfObject[], Object)
method.static final int M_GET_NEXT_OBJECT
iterator(DpTrans,ConfObject[])
method, and converting the Java
object into an array of ConfValues with the
getIteratorObject(DpTrans, ConfObject[], Object)
method.static final int M_GET_OBJECT
getObject(DpTrans,ConfObject[])
method.static final int M_MOVE_AFTER
moveAfter(DpTrans, ConfObject[], ConfKey)
method.static final int M_NUM_INSTANCES
numInstances(DpTrans,ConfObject[])
method.static final int M_REMOVE
remove(DpTrans,ConfObject[])
method.static final int M_SET_ATTR
setAttr(DpTrans, ConfObject[], ConfAttributeValue)
method.static final int M_SET_CASE
setCase(DpTrans, ConfObject[], ConfObject[], ConfTag)
method.static final int M_SET_ELEM
setElem(DpTrans,ConfObject[],ConfValue)
method.static final int M_WRITE_ALL
writeAll(DpTrans, ConfObject[])
method.String callpoint()
int create(DpTrans trans, ConfObject[] kp) throws DpCallbackException
trans
- Transactionkp
- The keypathConf.REPLY_OK
or Conf.REPLY_ACCUMULATE
DpCallbackException
- Callback method failed.boolean existsOptional(DpTrans trans, ConfObject[] kp) throws DpCallbackException
If we do not have any optional and typeless elements, we need not implement the existsOptional() callback method.
trans
- Transactionkp
- The keypathtrue
or false
DpCallbackException
- Callback method failed.int getAttrs(DpTrans trans, ConfObject[] kp, List<ConfAttributeValue> attrList) throws DpCallbackException, IllegalArgumentException
ConfAttributeType.TAGS
(values are ConfList of ConfBuf)
ConfAttributeType.ANNOTATION
(value is ConfBuf)
ConfAttributeType.INACTIVE
(not used)
The attrs parameter is an list of ConfAttributeValue objects with
attributeType set to requested attribute and attributeValue set to null.
If the list is empty all attributes are requested.
If the node given by kp does not exist, the callback should throw an
IllegalArgumentException, otherwise it should set values to the elements
of the attrs list, or even add attributes if the list was empty.
Must return Conf.REPLY_OK
on success or
Conf.REPLY_DELAYED_RESPONSE
.
On error a DpCallbackException
should be throwntrans
- current transactionkp
- keypath for node to set attributes onattrList
- list of ConfAttributeValue to populate as resultConf.REPLY_OK
or
Conf.REPLY_DELAYED_RESPONSE
on successful callDpCallbackException
- on unsuccessful callIllegalArgumentException
ConfObject getCase(DpTrans trans, ConfObject[] kp, ConfObject[] choice) throws DpCallbackException
trans
- Transactionkp
- The keypathchoice
- The choice name(s) as an array of ConfTagDpCallbackException
- Callback method failed.ConfValue getElem(DpTrans trans, ConfObject[] kp) throws DpCallbackException
The callback must return a ConfValue
on
success. The implementation of getElem
must
be prepared to return all the leafs including the key(s).
When ConfD/NCS invokes getElem
on a key leaf it is
an existence test. The application should verify whether the
object exists or not. If an object doesn't exists this method
must return null.
trans
- Transactionkp
- The keypath structured as a reversed array of
ConfTag
and/or
ConfKey
objectsDpCallbackException
- Callback method failure.ConfKey getIteratorKey(DpTrans trans, ConfObject[] kp, Object obj) throws DpCallbackException
trans
- Transactionkp
- The keypathobj
- The object returned by the iteratorDpCallbackException
- Callback method failed.ConfValue[] getIteratorObject(DpTrans trans, ConfObject[] kp, Object obj) throws DpCallbackException
trans
- Transactionkp
- The keypathobj
- The object returned by the iteratorDpCallbackException
- Callback method failed.List<ConfValue[]> getIteratorObjectList(DpTrans trans, ConfObject[] kp, Object obj, Iterator<? extends Object> iterator) throws DpCallbackException
trans
- Transactionkp
- The keypathobj
- The first object returned by the iteratoriterator
- The iterator to optionally retrieve more objects fromDpCallbackException
- Callback method failsConfObject[] getObject(DpTrans trans, ConfObject[] kp) throws DpCallbackException
trans
- Transactionkp
- The keypathDpCallbackException
- Callback method failed.Iterator<? extends Object> iterator(DpTrans trans, ConfObject[] kp) throws DpCallbackException
This method is a specific java construct which is actually not
registered on the server side. Instead it is a mandatory tool for the
GET_NEXT/GET_NEXT_OBJECT functionality to work. If either the
getIteratorKey(DpTrans, ConfObject[], Object)
or the getIteratorObject(DpTrans, ConfObject[], Object)
is
registered this method must also be registered.
The Iterator is stored internally by Dp
and
when a GET_NEXT/GET_NEXT_OBJECT request is issued the iterator
is called to get the next element in the list.
Note that the iterator is free to return any POJO Object and it is instead the responsibility of the getIteratorKey or getIteratorObject to render the return values.
trans
- DpTrans object for current transactionkp
- Keypath for the list that is subject for traversalDpCallbackException
- if Callback method failed.DpDataFindNextIterator iterator(DpTrans trans, ConfObject[] kp, ConfFindNextType type, ConfKey key) throws DpCallbackException
iterator(DpTrans, ConfObject[])
in that it returns an extended iterator i.e. DpFindNextIterator.
This iterator does the same job as the normal Java Iterator
but it also has a
DpDataFindNextIterator.findNext(DpTrans,
ConfObject[], ConfFindNextType, ConfKey)
method that is called if FIND_NEXT/FIND_NEXT_OBJECT is called.
Note that this iterator is expected to be able to traverse using
next()/hasNext() functions after a initial findNext(...) has been
called and it will override the .trans
- DpTrans object for current transactionkp
- Keypath for the list that is subject for traversaltype
- ConfFindNextType
describing the findNext behaviorkey
- ConfKey which constitutes the search criteriaDpCallbackException
- if Callback method failed.DpCallbackException
int mask()
int moveAfter(DpTrans trans, ConfObject[] kp, ConfKey prevkey) throws DpCallbackException
trans
- current transactionkp
- keypath for entry to moveprevkey
- position to entry which should be before the entry to moveConf.REPLY_OK
DpCallbackException
int numInstances(DpTrans trans, ConfObject[] kp) throws DpCallbackException
trans
- Transactionkp
- The keypathDpCallbackException
- Callback method failed.int remove(DpTrans trans, ConfObject[] kp) throws DpCallbackException
trans
- Transactionkp
- The keypathConf.REPLY_OK
or Conf.REPLY_ACCUMULATE
DpCallbackException
- Callback method failed.int setAttr(DpTrans trans, ConfObject[] kp, ConfAttributeValue attr) throws DpCallbackException
trans
- current transactionkp
- keypath for node to set attributes onattr
- ConfAttributeValue to set valueDpCallbackException
int setCase(DpTrans trans, ConfObject[] kp, ConfObject[] choice, ConfTag caseval) throws DpCallbackException
trans
- Transactionkp
- The keypathchoice
- The choice name(s) as an array of ConfTagcaseval
- The name of the caseConf.REPLY_OK
DpCallbackException
- Callback method failed.int setElem(DpTrans trans, ConfObject[] kp, ConfValue newval) throws DpCallbackException
trans
- Transactionkp
- The keypathnewval
- The new value to be setConf.REPLY_OK
or Conf.REPLY_ACCUMULATE
DpCallbackException
- Callback method failed.int writeAll(DpTrans trans, ConfObject[] kp) throws DpCallbackException
trans
- Transactionkp
- The keypathConf.REPLY_OK
DpCallbackException
- Callback method failed.