*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.output;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.collect.ImmutableList;
-import java.util.Optional;
-import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.OutputSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaNodeDefaults;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement;
final class UndeclaredOutputEffectiveStatement
extends WithSubstatements<QName, OutputStatement, OutputEffectiveStatement>
implements OutputEffectiveStatement, OutputSchemaNode, OperationContainerMixin<OutputStatement> {
- private final @Nullable SchemaPath path;
+ private final @NonNull Object path;
private final int flags;
- UndeclaredOutputEffectiveStatement(final int flags,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements, final SchemaPath path) {
+ UndeclaredOutputEffectiveStatement(final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
+ final Object path, final int flags) {
super(substatements);
- this.path = path;
+ this.path = requireNonNull(path);
+ this.flags = flags;
+ }
+
+ UndeclaredOutputEffectiveStatement(final UndeclaredOutputEffectiveStatement original, final Object path,
+ final int flags) {
+ super(original);
+ this.path = requireNonNull(path);
this.flags = flags;
}
@Override
- @Deprecated
- public SchemaPath getPath() {
- return SchemaNodeDefaults.throwUnsupportedIfNull(this, path);
+ public Object pathObject() {
+ return path;
}
@Override
}
@Override
- public Optional<DataSchemaNode> findDataChildByName(final QName name) {
- return findDataSchemaNode(name);
+ public DataSchemaNode dataChildByName(final QName name) {
+ return dataSchemaNode(name);
}
@Override