@Beta public final class BindingCodecContext extends Object implements NodeCodecContext.CodecContextFactory, BindingTreeCodec, org.opendaylight.yangtools.concepts.Immutable
Constructor and Description |
---|
BindingCodecContext(BindingRuntimeContext context,
BindingNormalizedNodeCodecRegistry registry)
Prepare runtime context and codec registry.
|
Modifier and Type | Method and Description |
---|---|
org.opendaylight.yangtools.concepts.Codec<DOMSource,Document> |
getAnyxmlCodec()
Get anyxml codec.
|
com.google.common.collect.ImmutableMap<String,AnyxmlNodeCodecContext<?>> |
getAnyxmlNodes(Class<?> parentClass,
org.opendaylight.yangtools.yang.model.api.DataNodeContainer childSchema)
Returns anyxml nodes for supplied data container and parent class.
|
org.opendaylight.yangtools.concepts.Codec<Object,Object> |
getCodec(Class<?> valueType,
org.opendaylight.yangtools.yang.model.api.TypeDefinition<?> instantiatedType)
Get specific codec for binding class by type.
|
DataContainerCodecContext<?,?> |
getCodecContextNode(InstanceIdentifier<?> binding,
List<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> builder)
Prepare context from Binding and DOM path.
|
NodeCodecContext<?> |
getCodecContextNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier dom,
Collection<TreeArgument<?>> bindingArguments)
Multi-purpose utility function.
|
TreeNodeSerializer |
getEventStreamSerializer(Class<?> type) |
org.opendaylight.yangtools.concepts.Codec<org.opendaylight.yangtools.yang.common.QName,Class<?>> |
getIdentityCodec()
Get identity codec.
|
org.opendaylight.yangtools.concepts.Codec<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,InstanceIdentifier<?>> |
getInstanceIdentifierCodec()
Get instance identifier codec.
|
com.google.common.collect.ImmutableMap<String,LeafNodeCodecContext<?>> |
getLeafNodes(Class<?> parentClass,
org.opendaylight.yangtools.yang.model.api.DataNodeContainer childSchema)
Returns leaf nodes for supplied data container and parent class.
|
NotificationCodecContext<?> |
getNotificationContext(org.opendaylight.yangtools.yang.model.api.SchemaPath notification)
Get notification codec according to notification schema path.
|
OperationInputCodec<?> |
getOperationInputCodec(org.opendaylight.yangtools.yang.model.api.SchemaPath path)
Get operation input codec.
|
org.opendaylight.yangtools.concepts.Codec<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates,IdentifiableItem<?,?>> |
getPathArgumentCodec(Class<?> listClz,
org.opendaylight.yangtools.yang.model.api.ListSchemaNode schema)
Returns Path argument codec for list item.
|
BindingRuntimeContext |
getRuntimeContext()
Returns immutable runtime context associated with this factory.
|
<T extends TreeNode> |
getSubtreeCodec(InstanceIdentifier<T> path)
Get specific subtree serialization context by Binding path.
|
BindingTreeNodeCodec<?> |
getSubtreeCodec(org.opendaylight.yangtools.yang.model.api.SchemaPath path)
Get specific subtree serialization context by
SchemaPath path. |
BindingTreeNodeCodec<?> |
getSubtreeCodec(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path)
Get specific subtree serialization context by DOM path.
|
BindingStreamEventWriter |
newNotificationWriter(Class<? extends Notification> notification,
org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter domWriter) |
BindingStreamEventWriter |
newOperationWriter(Class<? extends Instantiable<?>> operationInputOrOutput,
org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter domWriter)
Prepare specific writer for operations.
|
Map.Entry<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,BindingStreamEventWriter> |
newWriter(InstanceIdentifier<?> path,
org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter domWriter)
Prepare specific writer for binding path.
|
BindingStreamEventWriter |
newWriterWithoutIdentifier(InstanceIdentifier<?> path,
org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter domWriter)
Prepare specific writer for binding path without DOM identifier.
|
public BindingCodecContext(BindingRuntimeContext context, BindingNormalizedNodeCodecRegistry registry)
context
- - runtime contextregistry
- - binding normalized node codec registrypublic BindingRuntimeContext getRuntimeContext()
NodeCodecContext.CodecContextFactory
getRuntimeContext
in interface NodeCodecContext.CodecContextFactory
public org.opendaylight.yangtools.concepts.Codec<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,InstanceIdentifier<?>> getInstanceIdentifierCodec()
public org.opendaylight.yangtools.concepts.Codec<org.opendaylight.yangtools.yang.common.QName,Class<?>> getIdentityCodec()
public org.opendaylight.yangtools.concepts.Codec<DOMSource,Document> getAnyxmlCodec()
public TreeNodeSerializer getEventStreamSerializer(Class<?> type)
getEventStreamSerializer
in interface NodeCodecContext.CodecContextFactory
public Map.Entry<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,BindingStreamEventWriter> newWriter(InstanceIdentifier<?> path, org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter domWriter)
path
- - binding pathdomWriter
- - DOM writerpublic BindingStreamEventWriter newWriterWithoutIdentifier(InstanceIdentifier<?> path, org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter domWriter)
path
- - binding pathdomWriter
- - DOM writerpublic BindingStreamEventWriter newOperationWriter(Class<? extends Instantiable<?>> operationInputOrOutput, org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter domWriter)
operationInputOrOutput
- - binding datadomWriter
- - DOM writerpublic BindingStreamEventWriter newNotificationWriter(Class<? extends Notification> notification, org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter domWriter)
public DataContainerCodecContext<?,?> getCodecContextNode(InstanceIdentifier<?> binding, List<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> builder)
binding
- - binding pathbuilder
- - DOM path@Nullable public NodeCodecContext<?> getCodecContextNode(@Nonnull org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier dom, @Nullable Collection<TreeArgument<?>> bindingArguments)
YangInstanceIdentifier
. As a side-effect, gather all traversed binding
TreeArgument
into the supplied collection.dom
- YangInstanceIdentifier
which is to be translatedbindingArguments
- Collection for traversed path argumentspublic NotificationCodecContext<?> getNotificationContext(org.opendaylight.yangtools.yang.model.api.SchemaPath notification)
notification
- - schema path of notificationpublic OperationInputCodec<?> getOperationInputCodec(org.opendaylight.yangtools.yang.model.api.SchemaPath path)
path
- - path of input data of operationpublic com.google.common.collect.ImmutableMap<String,LeafNodeCodecContext<?>> getLeafNodes(Class<?> parentClass, org.opendaylight.yangtools.yang.model.api.DataNodeContainer childSchema)
NodeCodecContext.CodecContextFactory
getLeafNodes
in interface NodeCodecContext.CodecContextFactory
parentClass
- Binding type for which leaves should be loaded.childSchema
- Instantiated schema of binding type.public com.google.common.collect.ImmutableMap<String,AnyxmlNodeCodecContext<?>> getAnyxmlNodes(Class<?> parentClass, org.opendaylight.yangtools.yang.model.api.DataNodeContainer childSchema)
NodeCodecContext.CodecContextFactory
getAnyxmlNodes
in interface NodeCodecContext.CodecContextFactory
parentClass
- Binding type for which anyxml should be loaded.childSchema
- Instantiated schema of binding type.public org.opendaylight.yangtools.concepts.Codec<Object,Object> getCodec(Class<?> valueType, org.opendaylight.yangtools.yang.model.api.TypeDefinition<?> instantiatedType)
valueType
- - binding classinstantiatedType
- - type definitionpublic org.opendaylight.yangtools.concepts.Codec<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates,IdentifiableItem<?,?>> getPathArgumentCodec(Class<?> listClz, org.opendaylight.yangtools.yang.model.api.ListSchemaNode schema)
NodeCodecContext.CodecContextFactory
getPathArgumentCodec
in interface NodeCodecContext.CodecContextFactory
listClz
- Type of list itemschema
- Schema of list item@Nullable public <T extends TreeNode> BindingTreeNodeCodec<T> getSubtreeCodec(InstanceIdentifier<T> path)
BindingTreeCodec
getSubtreeCodec
in interface BindingTreeCodec
T
- data typepath
- - InstanceIdentifier
path@Nullable public BindingTreeNodeCodec<?> getSubtreeCodec(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path)
BindingTreeCodec
getSubtreeCodec
in interface BindingTreeCodec
path
- - YangInstanceIdentifier
path@Nullable public BindingTreeNodeCodec<?> getSubtreeCodec(org.opendaylight.yangtools.yang.model.api.SchemaPath path)
BindingTreeCodec
SchemaPath
path.getSubtreeCodec
in interface BindingTreeCodec
path
- - SchemaPath
pathCopyright © 2019 OpenDaylight. All rights reserved.