Class ImmutableNormalizedNodeStreamWriter
- java.lang.Object
-
- org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter
-
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable,org.opendaylight.yangtools.concepts.ExtensibleObject<org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter,org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension>,org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
- Direct Known Subclasses:
ImmutableMetadataNormalizedNodeStreamWriter,ImmutableMountPointNormalizedNodeStreamWriter,ReusableImmutableNormalizedNodeStreamWriter
public class ImmutableNormalizedNodeStreamWriter extends Object implements org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
Implementation ofNormalizedNodeStreamWriter, which constructs immutable instances ofNormalizedNodes.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.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedImmutableNormalizedNodeStreamWriter(NormalizedNodeBuilder topLevelBuilder)protectedImmutableNormalizedNodeStreamWriter(NormalizedNodeResult result)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voiddomSourceValue(DOMSource value)voidendNode()voidflush()static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterfrom(NormalizedNodeContainerBuilder<?,?,?,?> builder)Creates aNormalizedNodeStreamWriterwhich creates instances of suppliedNormalizedNodes and writes them to supplied builder as child nodes.static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterfrom(NormalizedNodeMetadataResult result)Creates aNormalizedNodeStreamWriterwhich creates one instance of top-levelNormalizedNode(type of NormalizedNode) is determined by first start event.static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterfrom(NormalizedNodeResult result)Creates aNormalizedNodeStreamWriterwhich creates one instance of top-levelNormalizedNode(type of NormalizedNode) is determined by first start event.voidnextDataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode schema)protected NormalizedNodeBuilderpopBuilder()voidscalarValue(Object value)booleanstartAnydataNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, Class<?> objectModel)booleanstartAnyxmlNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, Class<?> objectModel)voidstartAugmentationNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier identifier)voidstartChoiceNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)voidstartContainerNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)voidstartLeafNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name)voidstartLeafSet(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)voidstartLeafSetEntryNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue<?> name)voidstartMapEntryNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates identifier, int childSizeHint)voidstartMapNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)voidstartOrderedLeafSet(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)voidstartOrderedMapNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)voidstartUnkeyedList(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)voidstartUnkeyedListItem(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)voidstartYangModeledAnyXmlNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)protected voidwriteChild(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> child)Add a child not to the currently-open builder.
-
-
-
Constructor Detail
-
ImmutableNormalizedNodeStreamWriter
protected ImmutableNormalizedNodeStreamWriter(NormalizedNodeBuilder topLevelBuilder)
-
ImmutableNormalizedNodeStreamWriter
protected ImmutableNormalizedNodeStreamWriter(NormalizedNodeResult result)
-
-
Method Detail
-
from
public static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter from(NormalizedNodeContainerBuilder<?,?,?,?> builder)
Creates aNormalizedNodeStreamWriterwhich creates instances of suppliedNormalizedNodes and writes them to supplied builder as child nodes.Type of supplied
NormalizedNodeContainerBuilderaffects, which events could be emitted in order to ensure proper construction of data.- Parameters:
builder- Builder to which data will be written.- Returns:
NormalizedNodeStreamWriterwhich writes data
-
from
public static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter from(NormalizedNodeResult result)
Creates aNormalizedNodeStreamWriterwhich creates one instance of top-levelNormalizedNode(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
NormalizedNodeinstances, 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
NormalizedNodewill be written.- Parameters:
result-NormalizedNodeResultobject which will hold result value.- Returns:
NormalizedNodeStreamWriterwhich will write item to supplied result holder.
-
from
public static @NonNull org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter from(NormalizedNodeMetadataResult result)
Creates aNormalizedNodeStreamWriterwhich creates one instance of top-levelNormalizedNode(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
NormalizedNodeinstances, 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
NormalizedNodewill be written.- Parameters:
result-NormalizedNodeResultobject which will hold result value.- Returns:
NormalizedNodeStreamWriterwhich will write item to supplied result holder.
-
startLeafNode
public void startLeafNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name)
- Specified by:
startLeafNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startLeafSet
public void startLeafSet(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startLeafSetin interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startLeafSetEntryNode
public void startLeafSetEntryNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue<?> name)
- Specified by:
startLeafSetEntryNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startOrderedLeafSet
public void startOrderedLeafSet(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startOrderedLeafSetin interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startAnyxmlNode
public boolean startAnyxmlNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, Class<?> objectModel)- Specified by:
startAnyxmlNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startContainerNode
public void startContainerNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startContainerNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startYangModeledAnyXmlNode
public void startYangModeledAnyXmlNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startYangModeledAnyXmlNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startUnkeyedList
public void startUnkeyedList(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startUnkeyedListin interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startUnkeyedListItem
public void startUnkeyedListItem(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startUnkeyedListItemin interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startMapNode
public void startMapNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startMapNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startMapEntryNode
public void startMapEntryNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates identifier, int childSizeHint)- Specified by:
startMapEntryNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startOrderedMapNode
public void startOrderedMapNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startOrderedMapNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startChoiceNode
public void startChoiceNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, int childSizeHint)- Specified by:
startChoiceNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startAugmentationNode
public void startAugmentationNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier identifier)
- Specified by:
startAugmentationNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
flush
public void flush()
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
nextDataSchemaNode
public void nextDataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode schema)
- Specified by:
nextDataSchemaNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
scalarValue
public void scalarValue(Object value)
- Specified by:
scalarValuein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
domSourceValue
public void domSourceValue(DOMSource value)
- Specified by:
domSourceValuein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
endNode
public void endNode()
- Specified by:
endNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter
-
startAnydataNode
public boolean startAnydataNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier name, Class<?> objectModel) throws IOException- Specified by:
startAnydataNodein interfaceorg.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter- Throws:
IOException
-
writeChild
protected final void writeChild(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> child)
Add a child not to the currently-open builder.- Parameters:
child- A new child- Throws:
NullPointerException- ifchildis nullIllegalStateException- if there is no open builder
-
popBuilder
protected final NormalizedNodeBuilder popBuilder()
-
-