Add augmentation() method 20/2720/1
authorRobert Varga <rovarga@cisco.com>
Wed, 13 Nov 2013 20:52:08 +0000 (21:52 +0100)
committerRobert Varga <rovarga@cisco.com>
Wed, 13 Nov 2013 20:52:08 +0000 (21:52 +0100)
This is a safer alternative to node(). With this, we are almost able to
deprecate node() from the public API, providing type-safe alternatives
to all operations.

Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifier.java

index ea4e03ae899df71ac305609a6cac5d26e436a87a..a36efd77de1d423eeb5091afb204ede4b80d43e2 100644 (file)
@@ -170,6 +170,8 @@ public final class InstanceIdentifier<T extends DataObject> implements Path<Inst
         <N extends Identifiable<K> & ChildOf<? super T>, K extends Identifier<N>> InstanceIdentifierBuilder<N> child(
                 Class<N> listItem, K listKey);
 
+        <N extends DataObject & Augmentation<? super T>> InstanceIdentifierBuilder<N> augmentation(Class<N> container);
+
     }
 
     @SuppressWarnings("rawtypes")
@@ -230,6 +232,12 @@ public final class InstanceIdentifier<T extends DataObject> implements Path<Inst
                 Class<N> listItem, K listKey) {
             return node(listItem,listKey);
         }
+
+        @Override
+        public <N extends DataObject & Augmentation<? super T>> InstanceIdentifierBuilder<N> augmentation(
+                Class<N> container) {
+            return node(container);
+        }
     }
 
     @Override