2 * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.dom.codec.spi;
10 import com.google.common.annotations.Beta;
11 import com.google.common.collect.ForwardingObject;
12 import java.time.Instant;
13 import java.util.Map.Entry;
14 import org.opendaylight.mdsal.binding.dom.codec.api.BindingLazyContainerNode;
15 import org.opendaylight.mdsal.binding.dom.codec.api.BindingStreamEventWriter;
16 import org.opendaylight.yangtools.yang.binding.Action;
17 import org.opendaylight.yangtools.yang.binding.DataContainer;
18 import org.opendaylight.yangtools.yang.binding.DataObject;
19 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
20 import org.opendaylight.yangtools.yang.binding.Notification;
21 import org.opendaylight.yangtools.yang.binding.RpcInput;
22 import org.opendaylight.yangtools.yang.binding.RpcOutput;
23 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
24 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
25 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
26 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
27 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
28 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
31 public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject implements BindingDOMCodecServices {
33 protected abstract BindingDOMCodecServices delegate();
36 public BindingLazyContainerNode<RpcInput> toLazyNormalizedNodeActionInput(
37 final Class<? extends Action<?, ?, ?>> action, final NodeIdentifier identifier, final RpcInput input) {
38 return delegate().toLazyNormalizedNodeActionInput(action, identifier, input);
42 public BindingLazyContainerNode<RpcOutput> toLazyNormalizedNodeActionOutput(
43 final Class<? extends Action<?, ?, ?>> action, final NodeIdentifier identifier, final RpcOutput output) {
44 return delegate().toLazyNormalizedNodeActionOutput(action, identifier, output);
48 public YangInstanceIdentifier toYangInstanceIdentifier(final InstanceIdentifier<?> binding) {
49 return delegate().toYangInstanceIdentifier(binding);
53 public <T extends DataObject> InstanceIdentifier<T> fromYangInstanceIdentifier(final YangInstanceIdentifier dom) {
54 return delegate().getInstanceIdentifierCodec().toBinding(dom);
58 public <T extends DataObject> Entry<YangInstanceIdentifier, NormalizedNode<?,?>> toNormalizedNode(
59 final InstanceIdentifier<T> path, final T data) {
60 return delegate().toNormalizedNode(path, data);
64 public ContainerNode toNormalizedNodeNotification(final Notification data) {
65 return delegate().toNormalizedNodeNotification(data);
69 public ContainerNode toNormalizedNodeRpcData(final DataContainer data) {
70 return delegate().toNormalizedNodeRpcData(data);
74 public ContainerNode toNormalizedNodeActionInput(final Class<? extends Action<?, ?, ?>> action,
75 final RpcInput input) {
76 return delegate().toNormalizedNodeActionInput(action, input);
80 public ContainerNode toNormalizedNodeActionOutput(final Class<? extends Action<?, ?, ?>> action,
81 final RpcOutput output) {
82 return delegate().toNormalizedNodeActionOutput(action, output);
86 public Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode(final YangInstanceIdentifier path,
87 final NormalizedNode<?, ?> data) {
88 return delegate().fromNormalizedNode(path, data);
92 public Notification fromNormalizedNodeNotification(final SchemaPath path, final ContainerNode data) {
93 return delegate().fromNormalizedNodeNotification(path, data);
97 public Notification fromNormalizedNodeNotification(final SchemaPath path, final ContainerNode data,
98 final Instant eventInstant) {
99 return delegate().fromNormalizedNodeNotification(path, data, eventInstant);
103 public DataObject fromNormalizedNodeRpcData(final SchemaPath path, final ContainerNode data) {
104 return delegate().fromNormalizedNodeRpcData(path, data);
108 public <T extends RpcInput> T fromNormalizedNodeActionInput(final Class<? extends Action<?, ?, ?>> action,
109 final ContainerNode input) {
110 return delegate().fromNormalizedNodeActionInput(action, input);
114 public <T extends RpcOutput> T fromNormalizedNodeActionOutput(final Class<? extends Action<?, ?, ?>> action,
115 final ContainerNode output) {
116 return delegate().fromNormalizedNodeActionOutput(action, output);
120 public Entry<YangInstanceIdentifier, BindingStreamEventWriter> newWriterAndIdentifier(
121 final InstanceIdentifier<?> path, final NormalizedNodeStreamWriter domWriter) {
122 return delegate().newWriterAndIdentifier(path, domWriter);
126 public BindingStreamEventWriter newWriter(final InstanceIdentifier<?> path,
127 final NormalizedNodeStreamWriter domWriter) {
128 return delegate().newWriter(path, domWriter);
132 public BindingStreamEventWriter newNotificationWriter(final Class<? extends Notification> notification,
133 final NormalizedNodeStreamWriter streamWriter) {
134 return delegate().newNotificationWriter(notification, streamWriter);
138 public BindingStreamEventWriter newActionInputWriter(final Class<? extends Action<?, ?, ?>> action,
139 final NormalizedNodeStreamWriter domWriter) {
140 return delegate().newActionInputWriter(action, domWriter);
144 public BindingStreamEventWriter newActionOutputWriter(final Class<? extends Action<?, ?, ?>> action,
145 final NormalizedNodeStreamWriter domWriter) {
146 return delegate().newActionOutputWriter(action, domWriter);
150 public BindingStreamEventWriter newRpcWriter(final Class<? extends DataContainer> rpcInputOrOutput,
151 final NormalizedNodeStreamWriter streamWriter) {
152 return delegate().newRpcWriter(rpcInputOrOutput,streamWriter);