f24235daec0adad7e265c249d0aa4cc6da4d5004
[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.mdsal.binding.dom.codec.api.BindingAugmentationCodecTreeNode;
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.mdsal.binding.dom.codec.api.BindingYangDataCodecTreeNode;
23 import org.opendaylight.mdsal.binding.dom.codec.api.CommonDataObjectCodecTreeNode;
24 import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
25 import org.opendaylight.yangtools.yang.binding.Action;
26 import org.opendaylight.yangtools.yang.binding.Augmentation;
27 import org.opendaylight.yangtools.yang.binding.BaseNotification;
28 import org.opendaylight.yangtools.yang.binding.DataContainer;
29 import org.opendaylight.yangtools.yang.binding.DataObject;
30 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
31 import org.opendaylight.yangtools.yang.binding.Notification;
32 import org.opendaylight.yangtools.yang.binding.RpcInput;
33 import org.opendaylight.yangtools.yang.binding.RpcOutput;
34 import org.opendaylight.yangtools.yang.binding.YangData;
35 import org.opendaylight.yangtools.yang.common.YangDataName;
36 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
37 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
38 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
39 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
40 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
41 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
42
43 @Beta
44 public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject implements BindingDOMCodecServices {
45     @Override
46     protected abstract @NonNull BindingDOMCodecServices delegate();
47
48     @Override
49     public BindingLazyContainerNode<RpcInput> toLazyNormalizedNodeActionInput(
50             final Class<? extends Action<?, ?, ?>> action, final NodeIdentifier identifier, final RpcInput input) {
51         return delegate().toLazyNormalizedNodeActionInput(action, identifier, input);
52     }
53
54     @Override
55     public BindingLazyContainerNode<RpcInput> toLazyNormalizedNodeActionInput(
56             final Class<? extends Action<?, ?, ?>> action, final RpcInput input) {
57         return delegate().toLazyNormalizedNodeActionInput(action, input);
58     }
59
60     @Override
61     public BindingLazyContainerNode<RpcOutput> toLazyNormalizedNodeActionOutput(
62             final Class<? extends Action<?, ?, ?>> action, final NodeIdentifier identifier, final RpcOutput output) {
63         return delegate().toLazyNormalizedNodeActionOutput(action, identifier, output);
64     }
65
66     @Override
67     public BindingLazyContainerNode<RpcOutput> toLazyNormalizedNodeActionOutput(
68             final Class<? extends Action<?, ?, ?>> action, final RpcOutput output) {
69         return delegate().toLazyNormalizedNodeActionOutput(action, output);
70     }
71
72     @Override
73     public YangInstanceIdentifier toYangInstanceIdentifier(final InstanceIdentifier<?> binding) {
74         return delegate().toYangInstanceIdentifier(binding);
75     }
76
77     @Override
78     public <T extends DataObject> InstanceIdentifier<T> fromYangInstanceIdentifier(final YangInstanceIdentifier dom) {
79         return delegate().fromYangInstanceIdentifier(dom);
80     }
81
82     @Override
83     public <T extends DataObject> NormalizedResult toNormalizedNode(final InstanceIdentifier<T> path, final T data) {
84         return delegate().toNormalizedNode(path, data);
85     }
86
87     @Override
88     public <A extends Augmentation<?>> @NonNull AugmentationResult toNormalizedAugmentation(
89             final InstanceIdentifier<A> path, final A data) {
90         return delegate().toNormalizedAugmentation(path, data);
91     }
92
93     @Override
94     public <T extends DataObject> @NonNull NodeResult toNormalizedDataObject(final InstanceIdentifier<T> path,
95             final T data) {
96         return delegate().toNormalizedDataObject(path, data);
97     }
98
99     @Override
100     public ContainerNode toNormalizedNodeNotification(final Notification<?> data) {
101         return delegate().toNormalizedNodeNotification(data);
102     }
103
104     @Override
105     public ContainerNode toNormalizedNodeNotification(final Absolute path, final BaseNotification data) {
106         return delegate().toNormalizedNodeNotification(path, data);
107     }
108
109     @Override
110     public ContainerNode toNormalizedNodeRpcData(final DataContainer data) {
111         return delegate().toNormalizedNodeRpcData(data);
112     }
113
114     @Override
115     public ContainerNode toNormalizedNodeActionInput(final Class<? extends Action<?, ?, ?>> action,
116             final RpcInput input) {
117         return delegate().toNormalizedNodeActionInput(action, input);
118     }
119
120     @Override
121     public ContainerNode toNormalizedNodeActionOutput(final Class<? extends Action<?, ?, ?>> action,
122             final RpcOutput output) {
123         return delegate().toNormalizedNodeActionOutput(action, output);
124     }
125
126     @Override
127     public Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode(final YangInstanceIdentifier path,
128             final NormalizedNode data) {
129         return delegate().fromNormalizedNode(path, data);
130     }
131
132     @Override
133     public BaseNotification fromNormalizedNodeNotification(final Absolute path, final ContainerNode data) {
134         return delegate().fromNormalizedNodeNotification(path, data);
135     }
136
137     @Override
138     public BaseNotification fromNormalizedNodeNotification(final Absolute path, final ContainerNode data,
139             final Instant eventInstant) {
140         return delegate().fromNormalizedNodeNotification(path, data, eventInstant);
141     }
142
143     @Override
144     public DataObject fromNormalizedNodeRpcData(final Absolute containerPath, final ContainerNode data) {
145         return delegate().fromNormalizedNodeRpcData(containerPath, data);
146     }
147
148     @Override
149     public <T extends RpcInput> T fromNormalizedNodeActionInput(final Class<? extends Action<?, ?, ?>> action,
150             final ContainerNode input) {
151         return delegate().fromNormalizedNodeActionInput(action, input);
152     }
153
154     @Override
155     public <T extends RpcOutput> T fromNormalizedNodeActionOutput(final Class<? extends Action<?, ?, ?>> action,
156             final ContainerNode output) {
157         return delegate().fromNormalizedNodeActionOutput(action, output);
158     }
159
160     @Override
161     public Entry<YangInstanceIdentifier, BindingStreamEventWriter> newWriterAndIdentifier(
162             final InstanceIdentifier<?> path, final NormalizedNodeStreamWriter domWriter) {
163         return delegate().newWriterAndIdentifier(path, domWriter);
164     }
165
166     @Override
167     public BindingStreamEventWriter newWriter(final InstanceIdentifier<?> path,
168             final NormalizedNodeStreamWriter domWriter) {
169         return delegate().newWriter(path, domWriter);
170     }
171
172     @Override
173     public BindingStreamEventWriter newNotificationWriter(final Class<? extends Notification<?>> notification,
174             final NormalizedNodeStreamWriter streamWriter) {
175         return delegate().newNotificationWriter(notification, streamWriter);
176     }
177
178     @Override
179     public BindingStreamEventWriter newActionInputWriter(final Class<? extends Action<?, ?, ?>> action,
180             final NormalizedNodeStreamWriter domWriter) {
181         return delegate().newActionInputWriter(action, domWriter);
182     }
183
184     @Override
185     public BindingStreamEventWriter newActionOutputWriter(final Class<? extends Action<?, ?, ?>> action,
186             final NormalizedNodeStreamWriter domWriter) {
187         return delegate().newActionOutputWriter(action, domWriter);
188     }
189
190     @Override
191     public BindingStreamEventWriter newRpcWriter(final Class<? extends DataContainer> rpcInputOrOutput,
192             final NormalizedNodeStreamWriter streamWriter) {
193         return delegate().newRpcWriter(rpcInputOrOutput, streamWriter);
194     }
195
196     @Override
197     public <T extends DataObject> CodecWithPath<T> getSubtreeCodecWithPath(final InstanceIdentifier<T> path) {
198         return delegate().getSubtreeCodecWithPath(path);
199     }
200
201     @Override
202     public <A extends Augmentation<?>> BindingAugmentationCodecTreeNode<A> getAugmentationCodec(
203             final InstanceIdentifier<A> path) {
204         return delegate().getAugmentationCodec(path);
205     }
206
207     @Override
208     public <T extends DataObject> BindingDataObjectCodecTreeNode<T> getDataObjectCodec(
209             final InstanceIdentifier<T> path) {
210         return delegate().getDataObjectCodec(path);
211     }
212
213     @Override
214     public <T extends DataObject> CommonDataObjectCodecTreeNode<T> getSubtreeCodec(final InstanceIdentifier<T> path) {
215         return delegate().getSubtreeCodec(path);
216     }
217
218     @Override
219     public BindingCodecTreeNode getSubtreeCodec(final YangInstanceIdentifier path) {
220         return delegate().getSubtreeCodec(path);
221     }
222
223     @Override
224     public BindingCodecTreeNode getSubtreeCodec(final Absolute path) {
225         return delegate().getSubtreeCodec(path);
226     }
227
228     @Override
229     public BindingIdentityCodec getIdentityCodec() {
230         return delegate().getIdentityCodec();
231     }
232
233     @Override
234     public BindingInstanceIdentifierCodec getInstanceIdentifierCodec() {
235         return delegate().getInstanceIdentifierCodec();
236     }
237
238     @Override
239     public <T extends YangData<T>> BindingYangDataCodecTreeNode<T> getYangDataCodec(final Class<T> yangDataClass) {
240         return delegate().getYangDataCodec(yangDataClass);
241     }
242
243     @Override
244     public BindingYangDataCodecTreeNode<?> getYangDataCodec(final YangDataName yangDataName) {
245         return delegate().getYangDataCodec(yangDataName);
246     }
247
248     @Override
249     public BindingRuntimeContext getRuntimeContext() {
250         return delegate().getRuntimeContext();
251     }
252
253     @Override
254     public <E extends DataObject> CommonDataObjectCodecTreeNode<E> getStreamChild(final Class<E> childClass) {
255         return delegate().getStreamChild(childClass);
256     }
257 }