Is the getIteratoryKey callback mandatory

Hi,

For the callback I have implemented the
iterator(DataCBType.ITERATOR),
get_next_object_list(DataCBType.GET_NEXT_OBJECT_LIST),
get_elem(DataCBType.GET_ELEM).

But it still asks for get_iterator_key() function(GET_NEXT)

Is the getIteratorKey() mandatory to be implemented. Can it be made optional.

Regards,
Sweetlin S

Java API requires iterator, which you have.

I’m not sure if get_iterator_key is mandatory for Java. The C API says:

When we have registered get_next_object(), it is not strictly necessary to also register get_next(), but omitting get_next() may have a serious performance impact, since there are cases (e.g. CLI tab completion) when ConfD only wants to retrieve the keys for a list. In such a case, if we have only registered get_next_object(), all the data for the list will be retrieved, but everything except the keys will be discarded. Also note that even if we have registered get_next_object(), at least one of the get_elem() and get_object() callbacks must be registered.

So it is not mandatory, but recommended for performance.

Question is if this also applies for Java API.
On the other hand, if you have get_next_object_list, then it must be rather simple to add get_iterator_key.