8b471c1133bbf1fff4b9c03bbb98b1d2902846f7
[mdsal.git] / binding / mdsal-binding-dom-codec-spi / src / main / java / org / opendaylight / mdsal / binding / dom / codec / spi / ForwardingBindingDOMCodecServices.java
1 /*
2  * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.mdsal.binding.dom.codec.spi;
9
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.eclipse.jdt.annotation.NonNull;
15 import org.opendaylight.binding.runtime.api.BindingRuntimeContext;
16 import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeNode;
17 import org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeNode;
18 import org.opendaylight.mdsal.binding.dom.codec.api.BindingIdentityCodec;
19 import org.opendaylight.mdsal.binding.dom.codec.api.BindingInstanceIdentifierCodec;
20 import org.opendaylight.mdsal.binding.dom.codec.api.BindingLazyContainerNode;
21 import org.opendaylight.mdsal.binding.dom.codec.api.BindingStreamEventWriter;
22 import org.opendaylight.yangtools.yang.binding.Action;
23 import org.opendaylight.yangtools.yang.binding.DataContainer;
24 import org.opendaylight.yangtools.yang.binding.DataObject;
25 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
26 import org.opendaylight.yangtools.yang.binding.Notification;
27 import org.opendaylight.yangtools.yang.binding.RpcInput;
28 import org.opendaylight.yangtools.yang.binding.RpcOutput;
29 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
30 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
31 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
32 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
33 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
34 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
35 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
36
37 @Beta
38 public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject implements BindingDOMCodecServices {
39     @Override
40     protected abstract @NonNull BindingDOMCodecServices delegate();
41
42     @Override
43     public BindingLazyContainerNode<RpcInput> toLazyNormalizedNodeActionInput(
44             final Class<? extends Action<?, ?, ?>> action, final NodeIdentifier identifier, final RpcInput input) {
45         return delegate().toLazyNormalizedNodeActionInput(action, identifier, input);
46     }
47
48     @Override
49     public BindingLazyContainerNode<RpcOutput> toLazyNormalizedNodeActionOutput(
50             final Class<? extends Action<?, ?, ?>> action, final NodeIdentifier identifier, final RpcOutput output) {
51         return delegate().toLazyNormalizedNodeActionOutput(action, identifier, output);
52     }
53
54     @Override
55     public YangInstanceIdentifier toYangInstanceIdentifier(final InstanceIdentifier<?> binding) {
56         return delegate().toYangInstanceIdentifier(binding);
57     }
58
59     @Override
60     public <T extends DataObject> InstanceIdentifier<T> fromYangInstanceIdentifier(final YangInstanceIdentifier dom) {
61         return delegate().fromYangInstanceIdentifier(dom);
62     }
63
64     @Override
65     public <T extends DataObject> Entry<YangInstanceIdentifier, NormalizedNode<?,?>> toNormalizedNode(
66             final InstanceIdentifier<T> path, final T data) {
67         return delegate().toNormalizedNode(path, data);
68     }
69
70     @Override
71     public ContainerNode toNormalizedNodeNotification(final Notification data) {
72         return delegate().toNormalizedNodeNotification(data);
73     }
74
75     @Override
76     public ContainerNode toNormalizedNodeRpcData(final DataContainer data) {
77         return delegate().toNormalizedNodeRpcData(data);
78     }
79
80     @Override
81     public ContainerNode toNormalizedNodeActionInput(final Class<? extends Action<?, ?, ?>> action,
82             final RpcInput input) {
83         return delegate().toNormalizedNodeActionInput(action, input);
84     }
85
86     @Override
87     public ContainerNode toNormalizedNodeActionOutput(final Class<? extends Action<?, ?, ?>> action,
88             final RpcOutput output) {
89         return delegate().toNormalizedNodeActionOutput(action, output);
90     }
91
92     @Override
93     public Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode(final YangInstanceIdentifier path,
94             final NormalizedNode<?, ?> data) {
95         return delegate().fromNormalizedNode(path, data);
96     }
97
98     @Override
99     public Notification fromNormalizedNodeNotification(final SchemaPath path, final ContainerNode data) {
100         return delegate().fromNormalizedNodeNotification(path, data);
101     }
102
103     @Override
104     public Notification fromNormalizedNodeNotification(final SchemaPath path, final ContainerNode data,
105             final Instant eventInstant) {
106         return delegate().fromNormalizedNodeNotification(path, data, eventInstant);
107     }
108
109     @Override
110     public DataObject fromNormalizedNodeRpcData(final SchemaPath path, final ContainerNode data) {
111         return delegate().fromNormalizedNodeRpcData(path, data);
112     }
113
114     @Override
115     public <T extends RpcInput> T fromNormalizedNodeActionInput(final Class<? extends Action<?, ?, ?>> action,
116             final ContainerNode input) {
117         return delegate().fromNormalizedNodeActionInput(action, input);
118     }
119
120     @Override
121     public <T extends RpcOutput> T fromNormalizedNodeActionOutput(final Class<? extends Action<?, ?, ?>> action,
122             final ContainerNode output) {
123         return delegate().fromNormalizedNodeActionOutput(action, output);
124     }
125
126     @Override
127     public Entry<YangInstanceIdentifier, BindingStreamEventWriter> newWriterAndIdentifier(
128             final InstanceIdentifier<?> path, final NormalizedNodeStreamWriter domWriter) {
129         return delegate().newWriterAndIdentifier(path, domWriter);
130     }
131
132     @Override
133     public BindingStreamEventWriter newWriter(final InstanceIdentifier<?> path,
134             final NormalizedNodeStreamWriter domWriter) {
135         return delegate().newWriter(path, domWriter);
136     }
137
138     @Override
139     public BindingStreamEventWriter newNotificationWriter(final Class<? extends Notification> notification,
140             final NormalizedNodeStreamWriter streamWriter) {
141         return delegate().newNotificationWriter(notification, streamWriter);
142     }
143
144     @Override
145     public BindingStreamEventWriter newActionInputWriter(final Class<? extends Action<?, ?, ?>> action,
146             final NormalizedNodeStreamWriter domWriter) {
147         return delegate().newActionInputWriter(action, domWriter);
148     }
149
150     @Override
151     public BindingStreamEventWriter newActionOutputWriter(final Class<? extends Action<?, ?, ?>> action,
152             final NormalizedNodeStreamWriter domWriter) {
153         return delegate().newActionOutputWriter(action, domWriter);
154     }
155
156     @Override
157     public BindingStreamEventWriter newRpcWriter(final Class<? extends DataContainer> rpcInputOrOutput,
158             final NormalizedNodeStreamWriter streamWriter) {
159         return delegate().newRpcWriter(rpcInputOrOutput,streamWriter);
160     }
161
162     @Override
163     public <T extends DataObject> BindingDataObjectCodecTreeNode<T> getSubtreeCodec(final InstanceIdentifier<T> path) {
164         return delegate().getSubtreeCodec(path);
165     }
166
167     @Override
168     public BindingCodecTreeNode getSubtreeCodec(final YangInstanceIdentifier path) {
169         return delegate().getSubtreeCodec(path);
170     }
171
172     @Override
173     public BindingCodecTreeNode getSubtreeCodec(final Absolute path) {
174         return delegate().getSubtreeCodec(path);
175     }
176
177     @Override
178     public BindingIdentityCodec getIdentityCodec() {
179         return delegate().getIdentityCodec();
180     }
181
182     @Override
183     public BindingInstanceIdentifierCodec getInstanceIdentifierCodec() {
184         return delegate().getInstanceIdentifierCodec();
185     }
186
187     @Override
188     public BindingRuntimeContext getRuntimeContext() {
189         return delegate().getRuntimeContext();
190     }
191 }