}
@Override
- protected YangInstanceIdentifier.PathArgument getDomPathArgument() {
+ protected final YangInstanceIdentifier.PathArgument getDomPathArgument() {
return prototype.getYangArg();
}
@Override
public DataContainerCodecContext<?, ?> bindingPathArgumentChild(final PathArgument arg,
final List<YangInstanceIdentifier.PathArgument> builder) {
- final DataContainerCodecContext<?,?> child = streamChild(arg.getType());
+ final DataContainerCodecContext<?, ?> child = streamChild(arg.getType());
if (builder != null) {
- child.addYangPathArgument(arg,builder);
+ child.addYangPathArgument(arg, builder);
}
return child;
}
+ /**
+ * Serializes supplied Binding Path Argument and adds all necessary YANG instance identifiers to supplied list.
+ *
+ * @param arg Binding Path Argument
+ * @param builder DOM Path argument.
+ */
+ void addYangPathArgument(final PathArgument arg, final List<YangInstanceIdentifier.PathArgument> builder) {
+ if (builder != null) {
+ builder.add(getDomPathArgument());
+ }
+ }
+
/**
* Returns deserialized Binding Path Argument from YANG instance identifier.
*/
final NormalizedNodeResult result = new NormalizedNodeResult();
// We create DOM stream writer which produces normalized nodes
final NormalizedNodeStreamWriter domWriter = ImmutableNormalizedNodeStreamWriter.from(result);
- writeAsNormalizedNode(data, domWriter);
- return result.getResult();
- }
-
- @Override
- public void writeAsNormalizedNode(final D data, final NormalizedNodeStreamWriter writer) {
try {
- eventStreamSerializer().serialize(data, new BindingToNormalizedStreamWriter(this, writer));
+ eventStreamSerializer().serialize(data, new BindingToNormalizedStreamWriter(this, domWriter));
} catch (final IOException e) {
throw new IllegalStateException("Failed to serialize Binding DTO",e);
}
+ return result.getResult();
}
static final <T extends NormalizedNode> @NonNull T checkDataArgument(final @NonNull Class<T> expectedType,