+++ /dev/null
-/*
- * Copyright (c) 2016, 2020 PANTHEON.tech, s.r.o. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.rfc6643.parser;
-
-import com.google.common.collect.ImmutableList;
-import java.util.Objects;
-import org.opendaylight.yangtools.rfc6643.model.api.AliasEffectiveStatement;
-import org.opendaylight.yangtools.rfc6643.model.api.AliasSchemaNode;
-import org.opendaylight.yangtools.rfc6643.model.api.AliasStatement;
-import org.opendaylight.yangtools.yang.common.QName;
-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.parser.rfc7950.stmt.UnknownEffectiveStatementBase;
-import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
-import org.opendaylight.yangtools.yang.parser.spi.meta.SchemaPathSupport;
-
-final class AliasEffectiveStatementImpl extends UnknownEffectiveStatementBase<String, AliasStatement>
- implements AliasEffectiveStatement, AliasSchemaNode {
- private final SchemaPath path;
-
- AliasEffectiveStatementImpl(final Current<String, AliasStatement> stmt,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
- super(stmt, substatements);
- path = SchemaPathSupport.toOptionalPath(stmt.getEffectiveParent().getSchemaPath().createChild(getNodeType()));
- }
-
- @Override
- public QName getQName() {
- return getNodeType();
- }
-
- @Override
- @Deprecated
- public SchemaPath getPath() {
- return SchemaNodeDefaults.throwUnsupportedIfNull(this, path);
- }
-
- @Override
- public AliasEffectiveStatement asEffectiveStatement() {
- return this;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(path, getNodeType(), getNodeParameter());
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (!(obj instanceof AliasEffectiveStatementImpl)) {
- return false;
- }
- final AliasEffectiveStatementImpl other = (AliasEffectiveStatementImpl) obj;
- return Objects.equals(getNodeType(), other.getNodeType())
- && Objects.equals(getNodeParameter(), other.getNodeParameter()) && Objects.equals(path, other.path);
- }
-}