Refactor OSGi ModuleInfoSnapshot/BindingRuntimeContext
[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.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;
29
30 @Beta
31 public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject implements BindingDOMCodecServices {
32     @Override
33     protected abstract BindingDOMCodecServices delegate();
34
35     @Override
36     public BindingLazyContainerNode<RpcInput> toLazyNormalizedNodeActionInput(
37             final Class<? extends Action<?, ?, ?>> action, final NodeIdentifier identifier, final RpcInput input) {
38         return delegate().toLazyNormalizedNodeActionInput(action, identifier, input);
39     }
40
41     @Override
42     public BindingLazyContainerNode<RpcOutput> toLazyNormalizedNodeActionOutput(
43             final Class<? extends Action<?, ?, ?>> action, final NodeIdentifier identifier, final RpcOutput output) {
44         return delegate().toLazyNormalizedNodeActionOutput(action, identifier, output);
45     }
46
47     @Override
48     public YangInstanceIdentifier toYangInstanceIdentifier(final InstanceIdentifier<?> binding) {
49         return delegate().toYangInstanceIdentifier(binding);
50     }
51
52     @Override
53     public <T extends DataObject> InstanceIdentifier<T> fromYangInstanceIdentifier(final YangInstanceIdentifier dom) {
54         return delegate().getInstanceIdentifierCodec().toBinding(dom);
55     }
56
57     @Override
58     public <T extends DataObject> Entry<YangInstanceIdentifier, NormalizedNode<?,?>> toNormalizedNode(
59             final InstanceIdentifier<T> path, final T data) {
60         return delegate().toNormalizedNode(path, data);
61     }
62
63     @Override
64     public ContainerNode toNormalizedNodeNotification(final Notification data) {
65         return delegate().toNormalizedNodeNotification(data);
66     }
67
68     @Override
69     public ContainerNode toNormalizedNodeRpcData(final DataContainer data) {
70         return delegate().toNormalizedNodeRpcData(data);
71     }
72
73     @Override
74     public ContainerNode toNormalizedNodeActionInput(final Class<? extends Action<?, ?, ?>> action,
75             final RpcInput input) {
76         return delegate().toNormalizedNodeActionInput(action, input);
77     }
78
79     @Override
80     public ContainerNode toNormalizedNodeActionOutput(final Class<? extends Action<?, ?, ?>> action,
81             final RpcOutput output) {
82         return delegate().toNormalizedNodeActionOutput(action, output);
83     }
84
85     @Override
86     public Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode(final YangInstanceIdentifier path,
87             final NormalizedNode<?, ?> data) {
88         return delegate().fromNormalizedNode(path, data);
89     }
90
91     @Override
92     public Notification fromNormalizedNodeNotification(final SchemaPath path, final ContainerNode data) {
93         return delegate().fromNormalizedNodeNotification(path, data);
94     }
95
96     @Override
97     public Notification fromNormalizedNodeNotification(final SchemaPath path, final ContainerNode data,
98             final Instant eventInstant) {
99         return delegate().fromNormalizedNodeNotification(path, data, eventInstant);
100     }
101
102     @Override
103     public DataObject fromNormalizedNodeRpcData(final SchemaPath path, final ContainerNode data) {
104         return delegate().fromNormalizedNodeRpcData(path, data);
105     }
106
107     @Override
108     public <T extends RpcInput> T fromNormalizedNodeActionInput(final Class<? extends Action<?, ?, ?>> action,
109             final ContainerNode input) {
110         return delegate().fromNormalizedNodeActionInput(action, input);
111     }
112
113     @Override
114     public <T extends RpcOutput> T fromNormalizedNodeActionOutput(final Class<? extends Action<?, ?, ?>> action,
115             final ContainerNode output) {
116         return delegate().fromNormalizedNodeActionOutput(action, output);
117     }
118
119     @Override
120     public Entry<YangInstanceIdentifier, BindingStreamEventWriter> newWriterAndIdentifier(
121             final InstanceIdentifier<?> path, final NormalizedNodeStreamWriter domWriter) {
122         return delegate().newWriterAndIdentifier(path, domWriter);
123     }
124
125     @Override
126     public BindingStreamEventWriter newWriter(final InstanceIdentifier<?> path,
127             final NormalizedNodeStreamWriter domWriter) {
128         return delegate().newWriter(path, domWriter);
129     }
130
131     @Override
132     public BindingStreamEventWriter newNotificationWriter(final Class<? extends Notification> notification,
133             final NormalizedNodeStreamWriter streamWriter) {
134         return delegate().newNotificationWriter(notification, streamWriter);
135     }
136
137     @Override
138     public BindingStreamEventWriter newActionInputWriter(final Class<? extends Action<?, ?, ?>> action,
139             final NormalizedNodeStreamWriter domWriter) {
140         return delegate().newActionInputWriter(action, domWriter);
141     }
142
143     @Override
144     public BindingStreamEventWriter newActionOutputWriter(final Class<? extends Action<?, ?, ?>> action,
145             final NormalizedNodeStreamWriter domWriter) {
146         return delegate().newActionOutputWriter(action, domWriter);
147     }
148
149     @Override
150     public BindingStreamEventWriter newRpcWriter(final Class<? extends DataContainer> rpcInputOrOutput,
151             final NormalizedNodeStreamWriter streamWriter) {
152         return delegate().newRpcWriter(rpcInputOrOutput,streamWriter);
153     }
154 }