Refactor anydata-related interfaces
[yangtools.git] / yang / rfc7952-data-util / src / main / java / org / opendaylight / yangtools / rfc7952 / data / util / ImmutableMetadataNormalizedAnydata.java
@@ -12,30 +12,33 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.annotations.Beta;
 import java.io.IOException;
 import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.opendaylight.yangtools.rfc7952.data.api.MetadataNormalizedAnydata;
 import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadata;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
-import org.opendaylight.yangtools.yang.data.util.NormalizedAnydata;
+import org.opendaylight.yangtools.yang.data.util.ImmutableNormalizedAnydata;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 @Beta
 @NonNullByDefault
-public final class MetadataNormalizedAnydata extends NormalizedAnydata {
+public final class ImmutableMetadataNormalizedAnydata extends ImmutableNormalizedAnydata
+        implements MetadataNormalizedAnydata {
     private final NormalizedMetadata metadata;
 
-    public MetadataNormalizedAnydata(final SchemaContext schemaContext, final DataSchemaNode contextNode,
+    public ImmutableMetadataNormalizedAnydata(final SchemaContext schemaContext, final DataSchemaNode contextNode,
             final NormalizedNode<?, ?> data, final NormalizedMetadata metadata) {
         super(schemaContext, contextNode, data);
         this.metadata = requireNonNull(metadata);
     }
 
+    @Override
     public NormalizedMetadata getMetadata() {
         return metadata;
     }
 
     @Override
     public void writeTo(final NormalizedNodeStreamWriter writer, final boolean orderKeyLeaves) throws IOException {
-        NormalizedMetadataWriter.forStreamWriter(writer, orderKeyLeaves).write(getData(), metadata).flush();
+        NormalizedMetadataWriter.forStreamWriter(writer, orderKeyLeaves).write(getData(), getMetadata()).flush();
     }
 }