public class ImmutableNormalizedNodeStreamWriter extends Object implements org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter, org.opendaylight.yangtools.yang.data.api.schema.stream.AnydataExtension
NormalizedNodeStreamWriter, which constructs immutable instances of
NormalizedNodes.
This writer supports two modes of behaviour one is using from(NormalizedNodeResult) where resulting
NormalizedNode will be stored in supplied result object.
Other mode of operation is using from(NormalizedNodeContainerBuilder), where all created nodes will be
written to this builder.
This class is not final for purposes of customization, normal users should not need to subclass it.
| Modifier | Constructor and Description |
|---|---|
protected |
ImmutableNormalizedNodeStreamWriter(NormalizedNodeBuilder topLevelBuilder) |
protected |
ImmutableNormalizedNodeStreamWriter(NormalizedNodeResult result) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
domSourceValue(DOMSource value) |
void |
endNode() |
void |
flush() |
static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter |
from(NormalizedNodeContainerBuilder<?,?,?,?> builder)
Creates a
NormalizedNodeStreamWriter which creates instances of supplied NormalizedNodes
and writes them to supplied builder as child nodes. |
static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter |
from(NormalizedNodeMetadataResult result)
Creates a
NormalizedNodeStreamWriter which creates one instance of top-level NormalizedNode
(type of NormalizedNode) is determined by first start event. |
static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter |
from(NormalizedNodeResult result)
Creates a
NormalizedNodeStreamWriter which creates one instance of top-level NormalizedNode
(type of NormalizedNode) is determined by first start event. |
com.google.common.collect.ClassToInstanceMap<org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension> |
getExtensions() |
void |
nextDataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode schema) |
protected NormalizedNodeBuilder |
popBuilder() |
void |
scalarValue(Object value) |
boolean |
startAnydataNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
Class<?> objectModel) |
void |
startAnyxmlNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name) |
void |
startAugmentationNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier identifier) |
void |
startChoiceNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
void |
startContainerNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
void |
startLeafNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name) |
void |
startLeafSet(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
void |
startLeafSetEntryNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue<?> name) |
void |
startMapEntryNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates identifier,
int childSizeHint) |
void |
startMapNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
void |
startOrderedLeafSet(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
void |
startOrderedMapNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
void |
startUnkeyedList(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
void |
startUnkeyedListItem(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
void |
startYangModeledAnyXmlNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint) |
protected void |
writeChild(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> child)
Add a child not to the currently-open builder.
|
protected ImmutableNormalizedNodeStreamWriter(NormalizedNodeBuilder topLevelBuilder)
protected ImmutableNormalizedNodeStreamWriter(NormalizedNodeResult result)
public static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter from(NormalizedNodeContainerBuilder<?,?,?,?> builder)
NormalizedNodeStreamWriter which creates instances of supplied NormalizedNodes
and writes them to supplied builder as child nodes.
Type of supplied NormalizedNodeContainerBuilder affects, which events could be emitted in order
to ensure proper construction of data.
builder - Builder to which data will be written.NormalizedNodeStreamWriter which writes datapublic static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter from(NormalizedNodeResult result)
NormalizedNodeStreamWriter which creates one instance of top-level NormalizedNode
(type of NormalizedNode) is determined by first start event.
Result is built when endNode() associated with that start event is emitted.
Writer properly creates also nested NormalizedNode instances, if their are supported inside the scope
of the first event.
This method is useful for clients, which knows there will be one top-level node written, but does not know which
type of NormalizedNode will be written.
result - NormalizedNodeResult object which will hold result value.NormalizedNodeStreamWriter which will write item to supplied result holder.public static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter from(NormalizedNodeMetadataResult result)
NormalizedNodeStreamWriter which creates one instance of top-level NormalizedNode
(type of NormalizedNode) is determined by first start event.
Result is built when endNode() associated with that start event is emitted.
Writer properly creates also nested NormalizedNode instances, if their are supported inside the scope
of the first event.
This method is useful for clients, which knows there will be one top-level node written, but does not know which
type of NormalizedNode will be written.
result - NormalizedNodeResult object which will hold result value.NormalizedNodeStreamWriter which will write item to supplied result holder.public com.google.common.collect.ClassToInstanceMap<org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension> getExtensions()
getExtensions in interface org.opendaylight.yangtools.concepts.ExtensibleObject<org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter,org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension>public void startLeafNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name)
startLeafNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startLeafSet(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startLeafSet in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startLeafSetEntryNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue<?> name)
startLeafSetEntryNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startOrderedLeafSet(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startOrderedLeafSet in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startAnyxmlNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name)
startAnyxmlNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startContainerNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startContainerNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startYangModeledAnyXmlNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startYangModeledAnyXmlNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startUnkeyedList(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startUnkeyedList in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startUnkeyedListItem(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startUnkeyedListItem in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startMapNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startMapNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startMapEntryNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates identifier,
int childSizeHint)
startMapEntryNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startOrderedMapNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startOrderedMapNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startChoiceNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
int childSizeHint)
startChoiceNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void startAugmentationNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier identifier)
startAugmentationNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void flush()
public void close()
close in interface Closeableclose in interface AutoCloseableclose in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void nextDataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode schema)
nextDataSchemaNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void scalarValue(Object value)
scalarValue in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void domSourceValue(DOMSource value)
domSourceValue in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic void endNode()
endNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterpublic boolean startAnydataNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name,
Class<?> objectModel)
throws IOException
startAnydataNode in interface org.opendaylight.yangtools.yang.data.api.schema.stream.AnydataExtensionIOExceptionprotected final void writeChild(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> child)
child - A new childNullPointerException - if child is nullIllegalStateException - if there is no open builderprotected final NormalizedNodeBuilder popBuilder()
Copyright © 2019 OpenDaylight. All rights reserved.