Remove AugmentationSchemaNode.getOriginalDefinition()
[yangtools.git] / parser / yang-parser-reactor / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / ForwardingUndeclaredCurrent.java
1 /*
2  * Copyright (c) 2021 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.yangtools.yang.parser.stmt.reactor;
9
10 import static java.util.Objects.requireNonNull;
11
12 import com.google.common.collect.ForwardingObject;
13 import java.util.Map;
14 import java.util.Optional;
15 import org.eclipse.jdt.annotation.NonNull;
16 import org.opendaylight.yangtools.yang.common.QName;
17 import org.opendaylight.yangtools.yang.common.QNameModule;
18 import org.opendaylight.yangtools.yang.common.YangVersion;
19 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
20 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
21 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
22 import org.opendaylight.yangtools.yang.parser.spi.meta.CopyHistory;
23 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.UndeclaredCurrent;
24 import org.opendaylight.yangtools.yang.parser.spi.meta.ParserNamespace;
25 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
26 import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
27
28 final class ForwardingUndeclaredCurrent<A, D extends DeclaredStatement<A>> extends ForwardingObject
29         implements UndeclaredCurrent<A, D> {
30     private final Current<A, D> delegate;
31
32     ForwardingUndeclaredCurrent(final Current<A, D> delegate) {
33         this.delegate = requireNonNull(delegate);
34     }
35
36     @Override
37     public @NonNull QName moduleName() {
38         return delegate.moduleName();
39     }
40
41     @Override
42     public QName argumentAsTypeQName() {
43         return delegate.argumentAsTypeQName();
44     }
45
46     @Override
47     @Deprecated
48     public <E extends EffectiveStatement<A, D>> StmtContext<A, D, E> caerbannog() {
49         return delegate.caerbannog();
50     }
51
52     @Override
53     public EffectiveConfig effectiveConfig() {
54         return delegate.effectiveConfig();
55     }
56
57     @Override
58     public QNameModule effectiveNamespace() {
59         return delegate.effectiveNamespace();
60     }
61
62     @Override
63     public Parent effectiveParent() {
64         return delegate.effectiveParent();
65     }
66
67     @Override
68     public StatementDefinition publicDefinition() {
69         return delegate.publicDefinition();
70     }
71
72     @Override
73     public StatementSourceReference sourceReference() {
74         return delegate.sourceReference();
75     }
76
77     @Override
78     public CopyHistory history() {
79         return delegate.history();
80     }
81
82     @Override
83     public <K, V, N extends ParserNamespace<K, V>> Map<K, V> namespace(final Class<@NonNull N> nsType) {
84         return delegate.namespace(nsType);
85     }
86
87     @Override
88     public <K, V, T extends K, N extends ParserNamespace<K, V>> V namespaceItem(final Class<@NonNull N> nsType,
89             final T key) {
90         return delegate.namespaceItem(nsType, key);
91     }
92
93     @Override
94     public <K, V, N extends ParserNamespace<K, V>> Map<K, V> localNamespacePortion(final Class<@NonNull N> nsType) {
95         return delegate.localNamespacePortion(nsType);
96     }
97
98     @Override
99     public A argument() {
100         return delegate.argument();
101     }
102
103     @Override
104     public YangVersion yangVersion() {
105         return delegate.yangVersion();
106     }
107
108     @Override
109     public <X, Z extends EffectiveStatement<X, ?>> Optional<X> findSubstatementArgument(final Class<Z> type) {
110         return delegate.findSubstatementArgument(type);
111     }
112
113     @Override
114     public boolean hasSubstatement(final Class<? extends EffectiveStatement<?, ?>> type) {
115         return delegate.hasSubstatement(type);
116     }
117
118     @Override
119     protected Current<A, D> delegate() {
120         return delegate;
121     }
122 }