*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import java.util.Optional;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
+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.StatementDefinition;
@Rfc6020AbnfRule("argument-stmt")
public interface ArgumentStatement extends DeclaredStatement<QName> {
-
- @Nonnull String getName();
-
- @Nullable YinElementStatement getYinElement();
-
+ @Override
+ default StatementDefinition statementDefinition() {
+ return YangStmtMapping.ARGUMENT;
+ }
+
+ default @Nullable YinElementStatement getYinElement() {
+ final Optional<YinElementStatement> opt = findFirstDeclaredSubstatement(YinElementStatement.class);
+ return opt.isPresent() ? opt.get() : null;
+ }
}