Add AbstractBooleanDeclaredStatement/BaseBooleanStatementSupport
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / config / EmptyConfigStatement.java
index 388d033087971013bddb1df5ef209c2e37aef6e4..bfec337044f68c05fe128cce8d089dce0010e34c 100644 (file)
@@ -7,85 +7,8 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.config;
 
-import com.google.common.collect.ImmutableList;
-import java.util.Collection;
-import java.util.Objects;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
-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.model.api.meta.StatementSource;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
-
-abstract class EmptyConfigStatement implements ConfigStatement {
-    static final @NonNull ConfigStatement FALSE = new EmptyConfigStatement() {
-        @Override
-        public Boolean argument() {
-            return Boolean.FALSE;
-        }
-
-        @Override
-        EffectiveStatement<Boolean, ConfigStatement> toEffective() {
-            return EmptyConfigEffectiveStatement.FALSE;
-        }
-    };
-
-    static final @NonNull ConfigStatement TRUE = new EmptyConfigStatement() {
-        @Override
-        public Boolean argument() {
-            return Boolean.TRUE;
-        }
-
-        @Override
-        EffectiveStatement<Boolean, ConfigStatement> toEffective() {
-            return EmptyConfigEffectiveStatement.TRUE;
-        }
-    };
-
-    abstract EffectiveStatement<Boolean, ConfigStatement> toEffective();
-
-    @Override
-    public final Collection<? extends DeclaredStatement<?>> declaredSubstatements() {
-        return ImmutableList.of();
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.CONFIG;
-    }
-
-    @Override
-    public final String rawArgument() {
-        return Boolean.toString(getValue());
-    }
-
-    @Override
-    public final StatementSource getStatementSource() {
-        return StatementSource.DECLARATION;
-    }
-
-    @Override
-    public final int hashCode() {
-        return Objects.hash(statementDefinition(), getStatementSource(), argument(), rawArgument(),
-            declaredSubstatements(), getValue());
-    }
-
-    @Override
-    public final boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof ConfigStatement)) {
-            return false;
-        }
-
-        final ConfigStatement other = (ConfigStatement) obj;
-
-        return getValue() == other.getValue() && argument().equals(other.argument())
-                && rawArgument().equals(other.rawArgument())
-                && statementDefinition().equals(other.statementDefinition())
-                && getStatementSource().equals(other.getStatementSource())
-                && declaredSubstatements().equals(other.declaredSubstatements());
+final class EmptyConfigStatement extends AbstractConfigStatement {
+    EmptyConfigStatement(final Boolean argument) {
+        super(argument);
     }
 }