diff options
author | Jan Srnicek <jsrnicek@cisco.com> | 2017-08-16 09:21:24 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2017-08-16 07:56:39 +0000 |
commit | 130c716105017c7b20b4779973b915968b3dc322 (patch) | |
tree | 50b28ac5691928dcff03fcf8cb57bec651a270c1 /infra/translate-api/src/main/java/io/fd/honeycomb/translate/write/Writer.java | |
parent | c643983450d5fd56db40ad2718877ec2289e6e6f (diff) |
HONEYCOMB-386 - Make update optional
If customizer does not support update directly,
updates for its handled nodes are broken up to delete + create pairs.
Change-Id: I2929109e8c9a1db0bef108367cf7d839135ce173
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.java | 16 |
1 files changed, 11 insertions, 5 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 e6538012b..1a16b72e6 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 @@ -33,7 +33,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public interface Writer<D extends DataObject> extends SubtreeManager<D> { /** - * Handle update operation. U from CRUD. + * Process modifications and translate them as create/update/delete operations to lower level * * @param id Identifier of data being written * @param dataBefore Old data @@ -41,8 +41,14 @@ public interface Writer<D extends DataObject> extends SubtreeManager<D> { * @param ctx Write context enabling writer to get information about candidate data as well as current data * @throws WriteFailedException if update failed */ - void update(@Nonnull final InstanceIdentifier<? extends DataObject> id, - @Nullable final DataObject dataBefore, - @Nullable final DataObject dataAfter, - @Nonnull final WriteContext ctx) throws WriteFailedException; + void processModification(@Nonnull final InstanceIdentifier<? extends DataObject> id, + @Nullable final DataObject dataBefore, + @Nullable final DataObject dataAfter, + @Nonnull final WriteContext ctx) throws WriteFailedException; + + /** + * Indicates whether there is direct support for updating nodes handled by this writer, + * or they must be broken up to individual deletes and creates. + */ + boolean supportsDirectUpdate(); } |