summaryrefslogtreecommitdiffstats
path: root/infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java
diff options
context:
space:
mode:
authorJan Srnicek <jsrnicek@cisco.com>2017-11-03 13:33:53 +0100
committerMarek Gradzki <mgradzki@cisco.com>2017-11-03 12:58:01 +0000
commit9779f4b3ffe24bb2338630c66169da92c880ffbb (patch)
treefac37c53b70b7bbfcea00f180554b3a0dfddd59c /infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java
parent054eb07de938df56000a8fc5cb41cb77f84bf2b5 (diff)
HONEYCOMB-359 - Wildcarded writers
Adds option to specify subtree writer that can handle whole subtree of nodes without having whole subtree specified. Its checking if node is children at runtime, rather than having pre-computed tree Change-Id: Ic46f2bd6de84f0dd14865825399f5a90a1f80859 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java')
-rw-r--r--infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java b/infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java
index 1a16b72e6..18573e58a 100644
--- a/infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java
+++ b/infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java
@@ -47,8 +47,17 @@ public interface Writer<D extends DataObject> extends SubtreeManager<D> {
@Nonnull final WriteContext ctx) throws WriteFailedException;
/**
- * Indicates whether there is direct support for updating nodes handled by this writer,
+ * Indicates whether there is direct support for updating nodes handled by writer,
* or they must be broken up to individual deletes and creates.
*/
boolean supportsDirectUpdate();
+
+ /**
+ * Returns true if node identified by this identifier can be processes by this writer
+ *
+ * @param instanceIdentifier identifier to be checked
+ */
+ default boolean canProcess(@Nonnull final InstanceIdentifier<? extends DataObject> instanceIdentifier) {
+ return getManagedDataObjectType().equals(instanceIdentifier);
+ }
}