Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ConfigFilter is the abstraction to specify the kind of filtering that needs to be applied while working with elastic config nodes. In its current state it supports key based filtering of nodes and can be extended to include various types of content based filtering as well. 

APIs

Elastic config service supports the following APIs currently:

/**
* Adds a new node to the elastic config store.
 */
CompletableFuture<Boolean> addNode(ConfigStoreType store, ConfigNodePath path, ConfigNode node);
 /**
* Removes a node from the elastic config store.
*/
CompletableFuture<ConfigNode> removeNode(ConfigStoreType store, ConfigNodePath path);
/**
* Creates/Updates a node in the elastic config store.
*/
CompletableFuture<ConfigNode> updateNode(ConfigStoreType store, ConfigNodePath path, ConfigNode node);
/**
* Creates nodes in the elastic config store, recursively by creating
* all missing intermediate nodes in the path.
*/
CompletableFuture<Boolean> createRecursive(ConfigStoreType store,ConfigNodePath path, ConfigNode node);
/**
* Delete nodes in the elastic config store, recursively by deleting all
* intermediate nodes in the path.
*/
CompletableFuture<Boolean> deleteRecursive(ConfigStoreType store, ConfigNodePath path);
/**
* Creates/Updates nodes in the elastic config store, recursively by creating
* all missing intermediate nodes in the path.
*/
CompletableFuture<Boolean> updateRecursive(ConfigStoreType store, ConfigNodePath path, ConfigNode node);
/**
* Returns a value node or subtree under the given path.
*/
CompletableFuture<ConfigNode> getNode(ConfigStoreType store, ConfigNodePath path, TraversalMode mode, ConfigFilter filter);
/**
* Returns the number of children under the given path, excluding
* the node at the path.
*/
CompletableFuture<Integer> getNumberOfChildren(ConfigStoreType store, ConfigNodePath path, ConfigFilter filter);
/**
* Registers a listener to be notified when the subtree rooted at
* the specified path is modified.
*/
CompletableFuture<Void> addConfigListener(ConfigStoreType store, ConfigNodePath path, ElasticConfigListener listener);
/**
* Unregisters a previously added listener.
*/
CompletableFuture<Void> removeConfigListener(ElasticConfigListener listener);

 

 

 

 

 

 

Use Case

Next Steps