* 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.yang.model.api.stmt;
import com.google.common.annotations.Beta;
+import org.opendaylight.yangtools.yang.common.QName;
/**
* The "anydata" statement defines an interior node in the schema tree. It takes one argument, which is an identifier,
* of this document.
*/
@Beta
-public interface AnydataStatement extends DataDefinitionStatement, ConfigStatementContainer,
+public interface AnydataStatement extends DataDefinitionStatement, ConfigStatementContainerDeclaredStatement<QName>,
MandatoryStatementContainer, MustStatementContainer {
}
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-public interface AnyxmlStatement extends DataDefinitionStatement, ConfigStatementContainer, MandatoryStatementContainer,
- MustStatementContainer {
+import org.opendaylight.yangtools.yang.common.QName;
+
+public interface AnyxmlStatement extends DataDefinitionStatement, ConfigStatementContainerDeclaredStatement<QName>,
+ MandatoryStatementContainer, MustStatementContainer {
}
import java.util.Collection;
import javax.annotation.Nonnull;
+import org.opendaylight.yangtools.yang.common.QName;
-public interface ChoiceStatement extends DataDefinitionStatement, ConfigStatementContainer, DefaultStatementContainer,
- MandatoryStatementContainer {
+public interface ChoiceStatement extends DataDefinitionStatement, ConfigStatementContainerDeclaredStatement<QName>,
+ DefaultStatementContainer, MandatoryStatementContainer {
@Nonnull Collection<? extends CaseStatement> getCases();
}
/**
* Marker interface for statements which may contain a 'config' statement, as defined in RFC7950.
+ *
+ * @deprecated Use {@link ConfigStatementContainerDeclaredStatement} instead.
*/
+@Deprecated
public interface ConfigStatementContainer {
/**
* Return a {@link ConfigStatement} child, if present.
--- /dev/null
+/*
+ * Copyright (c) 2018 Pantheon Technologies, 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.yang.model.api.stmt;
+
+import com.google.common.annotations.Beta;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
+
+@Beta
+public interface ConfigStatementContainerDeclaredStatement<A> extends DeclaredStatement<A>, ConfigStatementContainer {
+ @Override
+ default ConfigStatement getConfig() {
+ final Optional<ConfigStatement> opt = findFirstDeclaredSubstatement(ConfigStatement.class);
+ return opt.isPresent() ? opt.get() : null;
+ }
+}
package org.opendaylight.yangtools.yang.model.api.stmt;
import javax.annotation.Nullable;
+import org.opendaylight.yangtools.yang.common.QName;
public interface ContainerStatement extends DataDefinitionStatement, DataDefinitionContainer.WithReusableDefinitions,
- ActionStatementContainer, ConfigStatementContainer, NotificationStatementContainer, MustStatementContainer {
+ ActionStatementContainer, ConfigStatementContainerDeclaredStatement<QName>, NotificationStatementContainer,
+ MustStatementContainer {
@Nullable PresenceStatement getPresence();
}
import java.util.Collection;
import javax.annotation.Nonnull;
+import org.opendaylight.yangtools.yang.common.QName;
public interface LeafListStatement extends DataDefinitionStatement, MultipleElementsGroup, TypeGroup,
- ConfigStatementContainer, MustStatementContainer {
+ ConfigStatementContainerDeclaredStatement<QName>, MustStatementContainer {
/**
* Return default statements defined in this leaf-list. For RFC6020 semantics, this method returns an empty
* collection.
*/
package org.opendaylight.yangtools.yang.model.api.stmt;
-public interface LeafStatement extends DataDefinitionStatement, TypeGroup, ConfigStatementContainer,
- DefaultStatementContainer, MandatoryStatementContainer, MustStatementContainer {
+import org.opendaylight.yangtools.yang.common.QName;
+
+public interface LeafStatement extends DataDefinitionStatement, TypeGroup,
+ ConfigStatementContainerDeclaredStatement<QName>, DefaultStatementContainer, MandatoryStatementContainer,
+ MustStatementContainer {
}
import java.util.Collection;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opendaylight.yangtools.yang.common.QName;
public interface ListStatement extends DataDefinitionStatement, MultipleElementsGroup,
- DataDefinitionContainer.WithReusableDefinitions, ConfigStatementContainer, ActionStatementContainer,
- MustStatementContainer, NotificationStatementContainer {
+ DataDefinitionContainer.WithReusableDefinitions, ConfigStatementContainerDeclaredStatement<QName>,
+ ActionStatementContainer, MustStatementContainer, NotificationStatementContainer {
@Nullable KeyStatement getKey();
import java.util.Collection;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
-public interface RefineStatement extends DeclaredStatement<SchemaNodeIdentifier>, DocumentationGroup,
- ConditionalFeature, ConfigStatementContainer, MandatoryStatementContainer, MustStatementContainer {
+public interface RefineStatement extends ConfigStatementContainerDeclaredStatement<SchemaNodeIdentifier>,
+ DocumentationGroup, ConditionalFeature, MandatoryStatementContainer, MustStatementContainer {
String getTargetNode();
@Nonnull
import java.util.Collection;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.AnydataStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement;
return allDeclared(MustStatement.class);
}
- @Override
- public ConfigStatement getConfig() {
- return firstDeclared(ConfigStatement.class);
- }
-
@Override
public StatusStatement getStatus() {
return firstDeclared(StatusStatement.class);
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement;
return allDeclared(MustStatement.class);
}
- @Override
- public ConfigStatement getConfig() {
- return firstDeclared(ConfigStatement.class);
- }
-
@Override
public StatusStatement getStatus() {
return firstDeclared(StatusStatement.class);
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.CaseStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
return firstDeclared(DefaultStatement.class);
}
- @Nullable
- @Override
- public ConfigStatement getConfig() {
- return firstDeclared(ConfigStatement.class);
- }
-
@Nullable
@Override
public MandatoryStatement getMandatory() {
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DataDefinitionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
return firstDeclared(PresenceStatement.class);
}
- @Override
- public ConfigStatement getConfig() {
- return firstDeclared(ConfigStatement.class);
- }
-
@Override
public StatusStatement getStatus() {
return firstDeclared(StatusStatement.class);
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
return firstDeclared(DefaultStatement.class);
}
- @Nullable
- @Override
- public ConfigStatement getConfig() {
- return firstDeclared(ConfigStatement.class);
- }
-
@Nullable
@Override
public MandatoryStatement getMandatory() {
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
return argument();
}
- @Nullable
- @Override
- public ConfigStatement getConfig() {
- return firstDeclared(ConfigStatement.class);
- }
-
@Override
public WhenStatement getWhenStatement() {
return firstDeclared(WhenStatement.class);
import javax.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DataDefinitionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement;
return argument();
}
- @Nullable
- @Override
- public ConfigStatement getConfig() {
- return firstDeclared(ConfigStatement.class);
- }
-
@Override
public WhenStatement getWhenStatement() {
return firstDeclared(WhenStatement.class);
import java.util.Collection;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
return allDeclared(DefaultStatement.class);
}
- @Nullable
- @Override
- public ConfigStatement getConfig() {
- return firstDeclared(ConfigStatement.class);
- }
-
@Nullable
@Override
public PresenceStatement getPresence() {