2 * Copyright (c) 2019 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.controller.cluster.datastore.node.utils.stream;
10 import static java.util.Objects.requireNonNull;
12 import com.google.common.collect.ForwardingObject;
13 import java.io.IOException;
14 import org.opendaylight.yangtools.yang.common.QName;
15 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
16 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
17 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
18 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
21 final class CompatNormalizedNodeDataInput extends ForwardingObject implements NormalizedNodeDataInput {
22 private final org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput delegate;
24 CompatNormalizedNodeDataInput(
25 final org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput delegate) {
26 this.delegate = requireNonNull(delegate);
30 @SuppressWarnings("checkstyle:parameterName")
31 public void readFully(final byte[] b) throws IOException {
33 delegate.readFully(b);
34 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
35 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
40 @SuppressWarnings("checkstyle:parameterName")
41 public void readFully(final byte[] b, final int off, final int len) throws IOException {
43 delegate.readFully(b, off, len);
44 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
45 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
50 @SuppressWarnings("checkstyle:parameterName")
51 public int skipBytes(final int n) throws IOException {
53 return delegate.skipBytes(n);
54 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
55 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
60 public boolean readBoolean() throws IOException {
62 return delegate.readBoolean();
63 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
64 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
69 public byte readByte() throws IOException {
71 return delegate.readByte();
72 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
73 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
78 public int readUnsignedByte() throws IOException {
80 return delegate.readUnsignedByte();
81 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
82 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
87 public short readShort() throws IOException {
89 return delegate.readShort();
90 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
91 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
96 public int readUnsignedShort() throws IOException {
98 return delegate.readUnsignedShort();
99 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
100 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
105 public char readChar() throws IOException {
107 return delegate.readChar();
108 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
109 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
114 public int readInt() throws IOException {
116 return delegate.readInt();
117 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
118 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
123 public long readLong() throws IOException {
125 return delegate.readLong();
126 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
127 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
132 public float readFloat() throws IOException {
134 return delegate.readFloat();
135 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
136 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
141 public double readDouble() throws IOException {
143 return delegate.readDouble();
144 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
145 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
150 public String readLine() throws IOException {
152 return delegate.readLine();
153 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
154 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
159 public String readUTF() throws IOException {
161 return delegate.readUTF();
162 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
163 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
168 public void streamNormalizedNode(final NormalizedNodeStreamWriter writer) throws IOException {
170 delegate.streamNormalizedNode(writer);
171 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
172 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
177 public YangInstanceIdentifier readYangInstanceIdentifier() throws IOException {
179 return delegate.readYangInstanceIdentifier();
180 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
181 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
186 public QName readQName() throws IOException {
188 return delegate.readQName();
189 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
190 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
195 public PathArgument readPathArgument() throws IOException {
197 return delegate.readPathArgument();
198 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
199 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
204 public SchemaPath readSchemaPath() throws IOException {
206 return delegate.readSchemaPath();
207 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
208 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
213 public NormalizedNodeStreamVersion getVersion() throws IOException {
214 final org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVersion version;
216 version = delegate.getVersion();
217 } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) {
218 throw new InvalidNormalizedNodeStreamException(e.getMessage(), e);
223 return NormalizedNodeStreamVersion.LITHIUM;
225 return NormalizedNodeStreamVersion.MAGNESIUM;
227 return NormalizedNodeStreamVersion.NEON_SR2;
229 return NormalizedNodeStreamVersion.SODIUM_SR1;
231 throw new IOException("Unhandled version " + delegate.getVersion());
236 protected org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput delegate() {