Class AbstractDataObjectCodecContext<D extends DataObject,T extends org.opendaylight.mdsal.binding.runtime.api.CompositeRuntimeType>
java.lang.Object
org.opendaylight.mdsal.binding.dom.codec.impl.AbstractDataObjectCodecContext<D,T>
- All Implemented Interfaces:
org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeNode,org.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode<D>,org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeParent<org.opendaylight.yangtools.yang.common.Empty>,org.opendaylight.mdsal.binding.dom.codec.api.BindingObjectCodecTreeNode,org.opendaylight.mdsal.binding.dom.codec.api.CommonDataObjectCodecTreeNode<D>
- Direct Known Subclasses:
DataObjectCodecContext
public abstract sealed class AbstractDataObjectCodecContext<D extends DataObject,T extends org.opendaylight.mdsal.binding.runtime.api.CompositeRuntimeType>
extends Object
permits DataObjectCodecContext<D,T> (not exhaustive)
Abstract base for
DataObjectCodecContext and AugmentationCodecContext. They share most of their
mechanics, but notably:
- DataObjectCodecContext has an exact DistinctNodeContainer and YangInstanceIdentifier mapping and can be the target of augmentations (i.e. can implement Augmentable contract)
- AugmentationNodeContext has neither of those traits and really is just a filter of its parent DistinctNodeContainer
Unfortunately Augmentation is a also a DataObject, so things get a bit messy.
While this class is public, it not part of API surface and is an implementation detail. The only reason for it being public is that it needs to be accessible by code generated at runtime.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode
org.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode.ChildAddressabilitySummary -
Method Summary
Modifier and TypeMethodDescriptionprotected final DataObjectStep<?>final org.opendaylight.mdsal.binding.dom.codec.impl.CommonDataObjectCodecContext<?,?> bindingPathArgumentChild(DataObjectStep<?> step, List<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> builder) protected final <V> @NonNull VchildNonNull(@Nullable V nullable, Class<?> childClass, String message, Object... args) protected final <V> @NonNull VchildNonNull(@Nullable V nullable, org.opendaylight.yangtools.yang.common.QName child, String message, Object... args) protected final <V> @NonNull VchildNonNull(@Nullable V nullable, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument child, String message, Object... args) protected DataObjectStep<?>getBindingPathArgument(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument domArg) Returns deserialized Binding Path Argument from YANG instance identifier.final org.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode.ChildAddressabilitySummaryfinal org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatusDeprecated, for removal: This API element is subject to removal in a future version.final <C extends DataObject>
org.opendaylight.mdsal.binding.dom.codec.impl.DataContainerCodecContext<C,?, ?> getStreamChild(Class<C> childClass) final <C extends DataObject>
org.opendaylight.mdsal.binding.dom.codec.impl.DataContainerCodecContext<C,?, ?> streamChild(Class<C> childClass) toString()org.opendaylight.mdsal.binding.dom.codec.impl.CodecContextyangPathArgumentChild(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument arg) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode
getBindingClass, getChildAddressabilitySummary, streamAugmentation, streamChild, streamDataObject, yangPathArgumentChildMethods inherited from interface org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeParent
getStreamAugmentation, getStreamChild, getStreamDataObjectMethods inherited from interface org.opendaylight.mdsal.binding.dom.codec.api.CommonDataObjectCodecTreeNode
deserializePathArgument, serializePathArgument
-
Method Details
-
getSchema
@Deprecated(since="13.0.0", forRemoval=true) public final org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus getSchema()Deprecated, for removal: This API element is subject to removal in a future version. -
bindingPathArgumentChild
public final org.opendaylight.mdsal.binding.dom.codec.impl.CommonDataObjectCodecContext<?,?> bindingPathArgumentChild(DataObjectStep<?> step, List<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> builder) - Specified by:
bindingPathArgumentChildin interfaceorg.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode<D extends DataObject>
-
getBindingPathArgument
protected DataObjectStep<?> getBindingPathArgument(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument domArg) Returns deserialized Binding Path Argument from YANG instance identifier. -
bindingArg
-
getBindingClass
- Specified by:
getBindingClassin interfaceorg.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode<D extends DataContainer>- Specified by:
getBindingClassin interfaceorg.opendaylight.mdsal.binding.dom.codec.api.BindingObjectCodecTreeNode
-
getChildAddressabilitySummary
public final org.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode.ChildAddressabilitySummary getChildAddressabilitySummary()- Specified by:
getChildAddressabilitySummaryin interfaceorg.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode<D extends DataContainer>
-
yangPathArgumentChild
public org.opendaylight.mdsal.binding.dom.codec.impl.CodecContext yangPathArgumentChild(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument arg) - Specified by:
yangPathArgumentChildin interfaceorg.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode<D extends DataContainer>
-
getStreamChild
public final <C extends DataObject> org.opendaylight.mdsal.binding.dom.codec.impl.DataContainerCodecContext<C,?, getStreamChild?> (Class<C> childClass) - Specified by:
getStreamChildin interfaceorg.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeParent<D extends DataContainer>
-
streamChild
public final <C extends DataObject> org.opendaylight.mdsal.binding.dom.codec.impl.DataContainerCodecContext<C,?, streamChild?> (Class<C> childClass) - Specified by:
streamChildin interfaceorg.opendaylight.mdsal.binding.dom.codec.api.BindingDataContainerCodecTreeNode<D extends DataContainer>
-
toString
-
childNonNull
-
childNonNull
-
childNonNull
-