*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension;
-import static java.util.Objects.requireNonNull;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.model.api.meta.AbstractStatementDefinition;
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.stmt.UnrecognizedEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
/**
* Public definition for statements declared by extensions. This class is instantiated for every extension that is seen
* to be declared in a model.
*/
-final class ModelDefinedStatementDefinition implements StatementDefinition {
- private final QName statementName;
- private final QName argumentName;
- private final boolean yinElement;
-
- ModelDefinedStatementDefinition(final QName statementName, final QName argumentName, final boolean yinElement) {
- this.statementName = requireNonNull(statementName);
- this.argumentName = argumentName;
- this.yinElement = yinElement;
+@NonNullByDefault
+final class ModelDefinedStatementDefinition extends AbstractStatementDefinition {
+ ModelDefinedStatementDefinition(final QName statementName) {
+ super(statementName);
}
- @Nonnull
- @Override
- public QName getStatementName() {
- return statementName;
+ ModelDefinedStatementDefinition(final QName statementName, final @Nullable QName argumentName,
+ final boolean yinElement) {
+ super(statementName, yinElement, argumentName);
}
- @Nullable
- @Override
- public QName getArgumentName() {
- return argumentName;
- }
-
- @Nonnull
@Override
public Class<? extends DeclaredStatement<?>> getDeclaredRepresentationClass() {
return UnrecognizedStatement.class;
}
- @Nonnull
@Override
public Class<? extends EffectiveStatement<?, ?>> getEffectiveRepresentationClass() {
return UnrecognizedEffectiveStatement.class;
}
-
- @Override
- public boolean isArgumentYinElement() {
- return yinElement;
- }
-}
\ No newline at end of file
+}