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