public final class BindingToNormalizedNodeCodec extends Object implements BindingCodecTreeFactory, BindingNormalizedNodeSerializer, org.opendaylight.yangtools.yang.model.api.SchemaContextListener, AutoCloseable
Constructor and Description |
---|
BindingToNormalizedNodeCodec(ClassLoadingStrategy classLoadingStrategy,
BindingNormalizedNodeCodecRegistry codecRegistry) |
BindingToNormalizedNodeCodec(ClassLoadingStrategy classLoadingStrategy,
BindingNormalizedNodeCodecRegistry codecRegistry,
boolean waitForSchema) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
BindingCodecTree |
create(BindingRuntimeContext context)
Creates Binding Codec Tree for specified Binding runtime context.
|
BindingCodecTree |
create(org.opendaylight.yangtools.yang.model.api.SchemaContext context,
Class<?>... bindingClasses)
Creates Binding Codec Tree for specified Binding runtime context.
|
<T extends DataObject> |
deserializeFunction(InstanceIdentifier<T> path) |
Map.Entry<InstanceIdentifier<?>,DataObject> |
fromNormalizedNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path,
org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> data)
Translates supplied YANG Instance Identifier and NormalizedNode into
Binding data.
|
Notification |
fromNormalizedNodeNotification(org.opendaylight.yangtools.yang.model.api.SchemaPath path,
org.opendaylight.yangtools.yang.data.api.schema.ContainerNode data)
Translates supplied NormalizedNode Notification into Binding data.
|
DataObject |
fromNormalizedNodeRpcData(org.opendaylight.yangtools.yang.model.api.SchemaPath path,
org.opendaylight.yangtools.yang.data.api.schema.ContainerNode data)
Translates supplied NormalizedNode RPC input or output into Binding data.
|
InstanceIdentifier<?> |
fromYangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier dom)
Translates supplied YANG Instance Identifier into Binding instance
identifier.
|
BindingNormalizedNodeCodecRegistry |
getCodecFactory() |
BindingNormalizedNodeCodecRegistry |
getCodecRegistry() |
org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> |
getDefaultNodeFor(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier parentMapPath) |
Set<Class<? extends Notification>> |
getNotificationClasses(Set<org.opendaylight.yangtools.yang.model.api.SchemaPath> interested) |
protected com.google.common.collect.ImmutableBiMap<Method,org.opendaylight.yangtools.yang.model.api.RpcDefinition> |
getRpcMethodToSchema(Class<? extends RpcService> key) |
com.google.common.collect.ImmutableBiMap<Method,org.opendaylight.yangtools.yang.model.api.SchemaPath> |
getRpcMethodToSchemaPath(Class<? extends RpcService> key) |
protected Map.Entry<InstanceIdentifier<?>,BindingCodecTreeNode<?>> |
getSubtreeCodec(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier domIdentifier) |
protected org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> |
instanceIdentifierToNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier parentPath) |
void |
onGlobalContextUpdated(org.opendaylight.yangtools.yang.model.api.SchemaContext context) |
com.google.common.base.Optional<Map.Entry<InstanceIdentifier<? extends DataObject>,DataObject>> |
toBinding(Map.Entry<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,? extends org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>> normalized) |
com.google.common.base.Optional<InstanceIdentifier<? extends DataObject>> |
toBinding(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier normalized)
Returns a Binding-Aware instance identifier from normalized
instance-identifier if it is possible to create representation.
|
protected DOMDataTreeIdentifier |
toDOMDataTreeIdentifier(DataTreeIdentifier<?> path) |
protected Collection<DOMDataTreeIdentifier> |
toDOMDataTreeIdentifiers(Collection<DataTreeIdentifier<?>> subtrees) |
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier |
toNormalized(InstanceIdentifier<? extends DataObject> binding)
Translates supplied Binding Instance Identifier into NormalizedNode
instance identifier.
|
<T extends DataObject> |
toNormalizedNode(InstanceIdentifier<T> path,
T data)
Translates supplied Binding Instance Identifier and data into
NormalizedNode representation.
|
Map.Entry<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>> |
toNormalizedNode(Map.Entry<InstanceIdentifier<? extends DataObject>,DataObject> binding)
Converts Binding Map.Entry to DOM Map.Entry.
|
org.opendaylight.yangtools.yang.data.api.schema.ContainerNode |
toNormalizedNodeNotification(Notification data)
Translates supplied Binding Notification or output into NormalizedNode notification.
|
org.opendaylight.yangtools.yang.data.api.schema.ContainerNode |
toNormalizedNodeRpcData(DataContainer data)
Translates supplied Binding RPC input or output into NormalizedNode data.
|
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier |
toYangInstanceIdentifier(InstanceIdentifier<?> binding)
Translates supplied Binding Instance Identifier into NormalizedNode
instance identifier.
|
public BindingToNormalizedNodeCodec(ClassLoadingStrategy classLoadingStrategy, BindingNormalizedNodeCodecRegistry codecRegistry)
public BindingToNormalizedNodeCodec(ClassLoadingStrategy classLoadingStrategy, BindingNormalizedNodeCodecRegistry codecRegistry, boolean waitForSchema)
public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier toNormalized(InstanceIdentifier<? extends DataObject> binding)
binding
- Binding Instance IdentifierIllegalArgumentException
- If supplied Instance Identifier is not valid.public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier toYangInstanceIdentifier(@Nonnull InstanceIdentifier<?> binding)
BindingNormalizedNodeSerializer
toYangInstanceIdentifier
in interface BindingNormalizedNodeSerializer
binding
- Binding Instance Identifierpublic <T extends DataObject> Map.Entry<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>> toNormalizedNode(InstanceIdentifier<T> path, T data)
BindingNormalizedNodeSerializer
toNormalizedNode
in interface BindingNormalizedNodeSerializer
path
- Binding Instance Identifier pointing to datadata
- Data object representing datapublic Map.Entry<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>> toNormalizedNode(Map.Entry<InstanceIdentifier<? extends DataObject>,DataObject> binding)
binding
- Map Entry with InstanceIdentifier as key and DataObject as value.YangInstanceIdentifier
as key and NormalizedNode
as value.public Map.Entry<InstanceIdentifier<?>,DataObject> fromNormalizedNode(@Nonnull org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> data)
BindingNormalizedNodeSerializer
fromNormalizedNode
in interface BindingNormalizedNodeSerializer
path
- Binding Instance Identifierdata
- NormalizedNode representing datapublic Notification fromNormalizedNodeNotification(@Nonnull org.opendaylight.yangtools.yang.model.api.SchemaPath path, @Nonnull org.opendaylight.yangtools.yang.data.api.schema.ContainerNode data)
BindingNormalizedNodeSerializer
fromNormalizedNodeNotification
in interface BindingNormalizedNodeSerializer
path
- Schema Path of Notification, schema path is absolute, and consists of Notification QName.data
- NormalizedNode representing datapublic DataObject fromNormalizedNodeRpcData(@Nonnull org.opendaylight.yangtools.yang.model.api.SchemaPath path, @Nonnull org.opendaylight.yangtools.yang.data.api.schema.ContainerNode data)
BindingNormalizedNodeSerializer
fromNormalizedNodeRpcData
in interface BindingNormalizedNodeSerializer
path
- Schema path of RPC data, Schema path consists of rpc QName and input / output QName.data
- NormalizedNode representing datapublic InstanceIdentifier<?> fromYangInstanceIdentifier(@Nonnull org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier dom)
BindingNormalizedNodeSerializer
fromYangInstanceIdentifier
in interface BindingNormalizedNodeSerializer
dom
- YANG Instance Identifierpublic org.opendaylight.yangtools.yang.data.api.schema.ContainerNode toNormalizedNodeNotification(@Nonnull Notification data)
BindingNormalizedNodeSerializer
toNormalizedNodeNotification
in interface BindingNormalizedNodeSerializer
data
- NormalizedNode representing notification datapublic org.opendaylight.yangtools.yang.data.api.schema.ContainerNode toNormalizedNodeRpcData(@Nonnull DataContainer data)
BindingNormalizedNodeSerializer
toNormalizedNodeRpcData
in interface BindingNormalizedNodeSerializer
data
- NormalizedNode representing rpc datapublic com.google.common.base.Optional<InstanceIdentifier<? extends DataObject>> toBinding(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier normalized) throws org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException
Returns Optional.absent for cases where target is mixin node except augmentation.
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException
public com.google.common.base.Optional<Map.Entry<InstanceIdentifier<? extends DataObject>,DataObject>> toBinding(@Nonnull Map.Entry<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,? extends org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>> normalized) throws org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException
public void onGlobalContextUpdated(org.opendaylight.yangtools.yang.model.api.SchemaContext context)
onGlobalContextUpdated
in interface org.opendaylight.yangtools.yang.model.api.SchemaContextListener
public <T extends DataObject> com.google.common.base.Function<com.google.common.base.Optional<org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>>,com.google.common.base.Optional<T>> deserializeFunction(InstanceIdentifier<T> path)
public BindingNormalizedNodeCodecRegistry getCodecRegistry()
public void close()
close
in interface AutoCloseable
public BindingNormalizedNodeCodecRegistry getCodecFactory()
public com.google.common.collect.ImmutableBiMap<Method,org.opendaylight.yangtools.yang.model.api.SchemaPath> getRpcMethodToSchemaPath(Class<? extends RpcService> key)
protected com.google.common.collect.ImmutableBiMap<Method,org.opendaylight.yangtools.yang.model.api.RpcDefinition> getRpcMethodToSchema(Class<? extends RpcService> key)
public BindingCodecTree create(BindingRuntimeContext context)
BindingCodecTreeFactory
create
in interface BindingCodecTreeFactory
context
- Binding Runtime Context for which Binding codecs should be
instantiated.public BindingCodecTree create(org.opendaylight.yangtools.yang.model.api.SchemaContext context, Class<?>... bindingClasses)
BindingCodecTreeFactory
create
in interface BindingCodecTreeFactory
context
- Binding Runtime Context for which Binding codecs should be
instantiated.bindingClasses
- Binding Runtime Context will be constructed using bindings
which contains specified classes, in order to support
deserialization in multi-classloader environment.@Nonnull protected Map.Entry<InstanceIdentifier<?>,BindingCodecTreeNode<?>> getSubtreeCodec(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier domIdentifier)
public Set<Class<? extends Notification>> getNotificationClasses(Set<org.opendaylight.yangtools.yang.model.api.SchemaPath> interested)
protected org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> instanceIdentifierToNode(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier parentPath)
public org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> getDefaultNodeFor(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier parentMapPath)
protected Collection<DOMDataTreeIdentifier> toDOMDataTreeIdentifiers(Collection<DataTreeIdentifier<?>> subtrees)
protected DOMDataTreeIdentifier toDOMDataTreeIdentifier(DataTreeIdentifier<?> path)
Copyright © 2019 OpenDaylight. All rights reserved.