*/
package org.opendaylight.yangtools.yang.data.api.schema.stream;
+import com.google.common.collect.ClassToInstanceMap;
import com.google.common.collect.ForwardingObject;
import java.io.IOException;
import org.opendaylight.yangtools.yang.common.QName;
@Override
protected abstract NormalizedNodeStreamWriter delegate();
+ @Override
+ public ClassToInstanceMap<NormalizedNodeStreamWriterExtension> getExtensions() {
+ return delegate().getExtensions();
+ }
+
@Override
public void leafNode(final NodeIdentifier name, final Object value) throws IOException {
delegate().leafNode(name, value);
import java.io.Flushable;
import java.io.IOException;
import javax.annotation.Nonnull;
+import org.opendaylight.yangtools.concepts.ExtensibleObject;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
* and resources needlessly.
*
*/
-public interface NormalizedNodeStreamWriter extends Closeable, Flushable {
+public interface NormalizedNodeStreamWriter extends Closeable, Flushable,
+ ExtensibleObject<NormalizedNodeStreamWriter, NormalizedNodeStreamWriterExtension> {
/**
* Methods in this interface allow users to hint the underlying
--- /dev/null
+/*
+ * Copyright (c) 2019 Pantheon Technologies, s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.yangtools.yang.data.api.schema.stream;
+
+import com.google.common.annotations.Beta;
+import org.opendaylight.yangtools.concepts.ObjectExtension;
+
+/**
+ * Extension interface for {@link NormalizedNodeStreamWriter}. Extensions should extend this interface and their
+ * instances should be made available through {@link NormalizedNodeStreamWriter#getExtensions()}.
+ *
+ * @author Robert Varga
+ */
+@Beta
+public interface NormalizedNodeStreamWriterExtension extends
+ ObjectExtension<NormalizedNodeStreamWriter, NormalizedNodeStreamWriterExtension> {
+
+}