*/
package org.opendaylight.yangtools.yang.model.api.stmt;
+import java.util.Optional;
import javax.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
-public interface ContainerStatement extends DataDefinitionStatement, DataDefinitionContainer.WithReusableDefinitions,
- ActionStatementContainer, ConfigStatementContainerDeclaredStatement<QName>, NotificationStatementContainer,
- MustStatementContainer {
-
- @Nullable PresenceStatement getPresence();
+public interface ContainerStatement extends DataDefinitionStatement,
+ DataDefinitionAwareDeclaredStatement.WithReusableDefinitions<QName>,
+ ActionStatementAwareDeclaredStatement<QName>, ConfigStatementAwareDeclaredStatement<QName>,
+ NotificationStatementAwareDeclaredStatement<QName>, MustStatementAwareDeclaredStatement<QName> {
+ default @Nullable PresenceStatement getPresence() {
+ final Optional<PresenceStatement> opt = findFirstDeclaredSubstatement(PresenceStatement.class);
+ return opt.isPresent() ? opt.get() : null;
+ }
}