Separate out StatementSupport.applyCopyPolicy()
[yangtools.git] / yang / yang-parser-spi / src / main / java / org / opendaylight / yangtools / yang / parser / spi / meta / ForwardingStatementSupport.java
index 56545ccacf668bca3b0f405e9949f4617ff37b90..827a97bdc9488cab6ecce9e1d46f64ff70e463b0 100644 (file)
@@ -9,9 +9,12 @@ package org.opendaylight.yangtools.yang.parser.spi.meta;
 
 import com.google.common.annotations.Beta;
 import com.google.common.collect.ForwardingObject;
+import java.util.stream.Stream;
+import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 
 /**
@@ -37,8 +40,10 @@ public abstract class ForwardingStatementSupport<A, D extends DeclaredStatement<
     }
 
     @Override
-    public E createEffective(final StmtContext<A, D, E> ctx) {
-        return delegate().createEffective(ctx);
+    public E createEffective(final Current<A, D> stmt,
+            final Stream<? extends StmtContext<?, ?, ?>> declaredSubstatements,
+            final Stream<? extends StmtContext<?, ?, ?>> effectiveSubstatements) {
+        return delegate().createEffective(stmt, declaredSubstatements, effectiveSubstatements);
     }
 
     @Override
@@ -85,4 +90,15 @@ public abstract class ForwardingStatementSupport<A, D extends DeclaredStatement<
     public StatementSupport<?, ?, ?> getSupportSpecificForArgument(final String argument) {
         return delegate().getSupportSpecificForArgument(argument);
     }
+
+    @Override
+    public CopyPolicy copyPolicy() {
+        return delegate().copyPolicy();
+    }
+
+    @Override
+    public StmtContext<?, ?, ?> effectiveCopyOf(final StmtContext<?, ?, ?> stmt, final Mutable<?, ?, ?> parent,
+            final CopyType copyType, final QNameModule targetModule) {
+        return delegate().effectiveCopyOf(stmt, parent, copyType, targetModule);
+    }
 }