import java.io.Closeable;
import java.io.Flushable;
import java.io.IOException;
import java.io.Closeable;
import java.io.Flushable;
import java.io.IOException;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadata;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadata;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
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.api.YangInstanceIdentifier.PathArgument;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
public final class NormalizedMetadataWriter implements Closeable, Flushable {
private final NormalizedNodeStreamWriter writer;
private final boolean orderKeyLeaves;
public final class NormalizedMetadataWriter implements Closeable, Flushable {
private final NormalizedNodeStreamWriter writer;
private final boolean orderKeyLeaves;
* @throws IllegalArgumentException if metadata does not match data
* @throws IOException when thrown from the backing writer.
*/
* @throws IllegalArgumentException if metadata does not match data
* @throws IOException when thrown from the backing writer.
*/
throws IOException {
final PathArgument dataId = data.getIdentifier();
final PathArgument metaId = metadata.getIdentifier();
checkArgument(dataId.equals(metaId), "Mismatched data %s and metadata %s", dataId, metaId);
throws IOException {
final PathArgument dataId = data.getIdentifier();
final PathArgument metaId = metadata.getIdentifier();
checkArgument(dataId.equals(metaId), "Mismatched data %s and metadata %s", dataId, metaId);
- final NormalizedMetadataStreamWriter metaWriter = writer.getExtensions()
- .getInstance(NormalizedMetadataStreamWriter.class);
+ final StreamWriterMetadataExtension metaWriter = writer.getExtensions()
+ .getInstance(StreamWriterMetadataExtension.class);
final NormalizedNodeStreamWriter delegate = metaWriter == null ? writer
: new NormalizedNodeStreamWriterMetadataDecorator(writer, metaWriter, metadata);
final NormalizedNodeStreamWriter delegate = metaWriter == null ? writer
: new NormalizedNodeStreamWriterMetadataDecorator(writer, metaWriter, metadata);