exports org.opendaylight.yangtools.yang.model.spi.type;
requires transitive org.opendaylight.yangtools.yang.model.api;
+ requires transitive org.opendaylight.yangtools.yang.xpath.api;
+ requires com.google.common;
requires org.opendaylight.yangtools.yang.common;
// Annotations
return set.size() == 1 ? set.iterator().next() : set;
}
- protected static final <T> @NonNull ImmutableSet<? extends T> unmaskSet(final @NonNull Object masked,
+ protected static final <T> @NonNull ImmutableSet<T> unmaskSet(final @NonNull Object masked,
final @NonNull Class<T> type) {
return masked instanceof ImmutableSet ? (ImmutableSet<T>) masked
// Yes, this is ugly code, which could use an explicit verify, that would just change the what sort
* 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.parser.rfc7950.stmt;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
-import com.google.common.annotations.Beta;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.UnqualifiedQName;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionAwareDeclaredStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument.WithSubstatements;
-@Beta
-public abstract class AbstractDeclaredEffectiveRootStatement<D extends DeclaredStatement<UnqualifiedQName>>
+abstract class AbstractDeclaredEffectiveRootStatement<D extends DeclaredStatement<UnqualifiedQName>>
extends WithSubstatements<UnqualifiedQName> implements LinkageDeclaredStatement,
MetaDeclaredStatement<UnqualifiedQName>, RevisionAwareDeclaredStatement, BodyDeclaredStatement {
protected AbstractDeclaredEffectiveRootStatement(final String rawArgument, final UnqualifiedQName argument,
* 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.parser.rfc7950.stmt.key;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
+import com.google.common.collect.ImmutableSet;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
AbstractKeyStatement(final @NonNull String rawArgument, final @NonNull Set<QName> argument) {
super(rawArgument);
- this.argument = KeyStatementSupport.maskSet(argument);
+ this.argument = maskSet(ImmutableSet.copyOf(argument));
}
@Override
public final Set<QName> argument() {
- return KeyStatementSupport.unmaskSet(argument);
+ return unmaskSet(argument, QName.class);
}
}
* 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.parser.rfc7950.stmt.ordered_by;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import static java.util.Objects.requireNonNull;
import com.google.common.annotations.Beta;
import com.google.common.collect.ImmutableList;
+import java.util.List;
+import java.util.Set;
import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.opendaylight.yangtools.yang.common.Ordering;
import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.Revision;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.UnqualifiedQName;
+import org.opendaylight.yangtools.yang.common.XMLNamespace;
+import org.opendaylight.yangtools.yang.common.YangVersion;
import org.opendaylight.yangtools.yang.model.api.DeviateKind;
+import org.opendaylight.yangtools.yang.model.api.PathExpression;
import org.opendaylight.yangtools.yang.model.api.Status;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.LeafListStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.LeafStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.LengthStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.MustStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.PathStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.PatternExpression;
+import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.RangeStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.RpcStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ValueRange;
+import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement;
+import org.opendaylight.yangtools.yang.model.api.type.ModifierKind;
+import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
/**
* Static entry point to instantiating {@link DeclaredStatement} covered in the {@code RFC7950} metamodel.
return substatements.isEmpty() ? createInput(argument) : new RegularInputStatement(argument, substatements);
}
+ public static KeyStatement createKey(final String rawArgument, final Set<QName> argument) {
+ return new EmptyKeyStatement(rawArgument, argument);
+ }
+
+ public static KeyStatement createKey(final String rawArgument, final Set<QName> argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createKey(rawArgument, argument)
+ : new RegularKeyStatement(rawArgument, argument, substatements);
+ }
+
+ public static LeafStatement createLeaf(final QName argument) {
+ return new EmptyLeafStatement(argument);
+ }
+
+ public static LeafStatement createLeaf(final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createLeaf(argument) : new RegularLeafStatement(argument, substatements);
+ }
+
+ public static LeafListStatement createLeafList(final QName argument) {
+ return new EmptyLeafListStatement(argument);
+ }
+
+ public static LeafListStatement createLeafList(final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createLeafList(argument)
+ : new RegularLeafListStatement(argument, substatements);
+ }
+
+ public static LengthStatement createLength(final String rawArgument, final List<ValueRange> argument) {
+ return new EmptyLengthStatement(rawArgument, argument);
+ }
+
+ public static LengthStatement createLength(final String rawArgument, final List<ValueRange> argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createLength(rawArgument, argument)
+ : new RegularLengthStatement(rawArgument, argument, substatements);
+ }
+
+ public static ListStatement createList(final QName argument) {
+ return new EmptyListStatement(argument);
+ }
+
+ public static ListStatement createList(final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createList(argument) : new RegularListStatement(argument, substatements);
+ }
+
+ public static MandatoryStatement createMandatory(final Boolean argument) {
+ return new EmptyMandatoryStatement(argument);
+ }
+
+ public static MandatoryStatement createMandatory(final Boolean argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createMandatory(argument)
+ : new RegularMandatoryStatement(argument, substatements);
+ }
+
+ public static MaxElementsStatement createMaxElements(final String rawArgument, final String argument) {
+ return new EmptyMaxElementsStatement(rawArgument, argument);
+ }
+
+ public static MaxElementsStatement createMaxElements(final String rawArgument, final String argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createMaxElements(rawArgument, argument)
+ : new RegularMaxElementsStatement(rawArgument, argument, substatements);
+ }
+
+ public static MinElementsStatement createMinElements(final Integer argument) {
+ return new EmptyMinElementsStatement(argument);
+ }
+
+ public static MinElementsStatement createMinElements(final Integer argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createMinElements(argument)
+ : new RegularMinElementsStatement(argument, substatements);
+ }
+
+ public static ModifierStatement createModifier(final ModifierKind argument) {
+ return new EmptyModifierStatement(argument);
+ }
+
+ public static ModifierStatement createModifier(final ModifierKind argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createModifier(argument)
+ : new RegularModifierStatement(argument, substatements);
+ }
+
+ public static ModuleStatement createModule(final String rawArgument, final UnqualifiedQName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return new ModuleStatementImpl(rawArgument, argument, substatements);
+ }
+
+ public static MustStatement createMust(final String rawArgument, final QualifiedBound argument) {
+ return new EmptyMustStatement(rawArgument, argument);
+ }
+
+ public static MustStatement createMust(final String rawArgument, final QualifiedBound argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createMust(rawArgument, argument)
+ : new RegularMustStatement(rawArgument, argument, substatements);
+ }
+
+ public static NamespaceStatement createNamespace(final XMLNamespace argument) {
+ return new EmptyNamespaceStatement(argument);
+ }
+
+ public static NamespaceStatement createNamespace(final XMLNamespace argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createNamespace(argument)
+ : new RegularNamespaceStatement(argument, substatements);
+ }
+
+ public static NotificationStatement createNotification(final QName argument) {
+ return new EmptyNotificationStatement(argument);
+ }
+
+ public static NotificationStatement createNotification(final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createNotification(argument)
+ : new RegularNotificationStatement(argument, substatements);
+ }
+
+ public static OrganizationStatement createOrganization(final String argument) {
+ return new EmptyOrganizationStatement(argument);
+ }
+
+ public static OrganizationStatement createOrganization(final String argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createOrganization(argument)
+ : new RegularOrganizationStatement(argument, substatements);
+ }
+
+ public static OutputStatement createOutput(final QName argument) {
+ return new EmptyOutputStatement(argument);
+ }
+
+ public static OutputStatement createOutput(final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createOutput(argument) : new RegularOutputStatement(argument, substatements);
+ }
+
+ public static OrderedByStatement createOrderedBy(final Ordering argument) {
+ return new EmptyOrderedByStatement(argument);
+ }
+
+ public static OrderedByStatement createOrderedBy(final Ordering argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createOrderedBy(argument)
+ : new RegularOrderedByStatement(argument, substatements);
+ }
+
+ public static PathStatement createPath(final PathExpression argument) {
+ return new EmptyPathStatement(argument);
+ }
+
+ public static PathStatement createPath(final PathExpression argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createPath(argument) : new RegularPathStatement(argument, substatements);
+ }
+
+ public static PatternStatement createPattern(final PatternExpression argument) {
+ return new EmptyPatternStatement(argument);
+ }
+
+ public static PatternStatement createPattern(final PatternExpression argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createPattern(argument)
+ : new RegularPatternStatement(argument, substatements);
+ }
+
+ public static PositionStatement createPosition(final Uint32 argument) {
+ return new EmptyPositionStatement(argument);
+ }
+
+ public static PositionStatement createPosition(final Uint32 argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createPosition(argument)
+ : new RegularPositionStatement(argument, substatements);
+ }
+
+ public static PrefixStatement createPrefix(final String argument) {
+ return new EmptyPrefixStatement(argument);
+ }
+
+ public static PrefixStatement createPrefix(final String argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createPrefix(argument) : new RegularPrefixStatement(argument, substatements);
+ }
+
+ public static PresenceStatement createPresence(final String argument) {
+ return new EmptyPresenceStatement(argument);
+ }
+
+ public static PresenceStatement createPresence(final String argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createPresence(argument)
+ : new RegularPresenceStatement(argument, substatements);
+ }
+
+ public static ReferenceStatement createReference(final String argument) {
+ return new EmptyReferenceStatement(argument);
+ }
+
+ public static ReferenceStatement createReference(final String argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createReference(argument)
+ : new RegularReferenceStatement(argument, substatements);
+ }
+
+ public static RangeStatement createRange(final String rawArgument, final List<ValueRange> argument) {
+ return new EmptyRangeStatement(rawArgument, argument);
+ }
+
+ public static RangeStatement createRange(final String rawArgument, final List<ValueRange> argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createRange(rawArgument, argument)
+ : new RegularRangeStatement(rawArgument, argument, substatements);
+ }
+
+ public static RefineStatement createRefine(final String rawArgument, final Descendant argument) {
+ return createRefine(rawArgument, argument, ImmutableList.of());
+ }
+
+ public static RefineStatement createRefine(final String rawArgument, final Descendant argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return new RefineStatementImpl(rawArgument, argument, substatements);
+ }
+
+ public static RequireInstanceStatement createRequireInstance(final Boolean argument) {
+ return new EmptyRequireInstanceStatement(argument);
+ }
+
+ public static RequireInstanceStatement createRequireInstance(final Boolean argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createRequireInstance(argument)
+ : new RegularRequireInstanceStatement(argument, substatements);
+ }
+
+ public static RevisionStatement createRevision(final Revision argument) {
+ return new EmptyRevisionStatement(argument);
+ }
+
+ public static RevisionStatement createRevision(final Revision argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createRevision(argument)
+ : new RegularRevisionStatement(argument, substatements);
+ }
+
+ public static RevisionDateStatement createRevisionDate(final Revision argument) {
+ return new EmptyRevisionDateStatement(argument);
+ }
+
+ public static RevisionDateStatement createRevisionDate(final Revision argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createRevisionDate(argument)
+ : new RegularRevisionDateStatement(argument, substatements);
+ }
+
+ public static RpcStatement createRpc(final QName argument) {
+ return new EmptyRpcStatement(argument);
+ }
+
+ public static RpcStatement createRpc(final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createRpc(argument) : new RegularRpcStatement(argument, substatements);
+ }
+
public static StatusStatement createStatus(final Status argument) {
return new EmptyStatusStatement(argument);
}
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
return substatements.isEmpty() ? createStatus(argument) : new RegularStatusStatement(argument, substatements);
}
+
+ public static SubmoduleStatement createSubmodule(final String rawArgument, final UnqualifiedQName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return new SubmoduleStatementImpl(rawArgument, argument, substatements);
+ }
+
+ public static TypeStatement createType(final String argument) {
+ return new EmptyTypeStatement(argument);
+ }
+
+ public static TypeStatement createType(final String argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createType(argument) : new RegularTypeStatement(argument, substatements);
+ }
+
+ public static TypedefStatement createTypedef(final QName argument) {
+ return new EmptyTypedefStatement(argument);
+ }
+
+ public static TypedefStatement createTypedef(final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createTypedef(argument) : new RegularTypedefStatement(argument, substatements);
+ }
+
+ public static UniqueStatement createUnique(final String rawArgument, final Set<Descendant> argument) {
+ return new EmptyUniqueStatement(rawArgument, argument);
+ }
+
+ public static UniqueStatement createUnique(final String rawArgument, final Set<Descendant> argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createUnique(rawArgument, argument)
+ : new RegularUniqueStatement(rawArgument, argument, substatements);
+ }
+
+ public static UnitsStatement createUnits(final String argument) {
+ return new EmptyUnitsStatement(argument);
+ }
+
+ public static UnitsStatement createUnits(final String argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createUnits(argument) : new RegularUnitsStatement(argument, substatements);
+ }
+
+ public static UsesStatement createUses(final String rawArgument, final QName argument) {
+ return new EmptyUsesStatement(rawArgument, argument);
+ }
+
+ public static UsesStatement createUses(final String rawArgument, final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createUses(rawArgument, argument)
+ : new RegularUsesStatement(rawArgument, argument, substatements);
+ }
+
+ public static ValueStatement createValue(final Integer argument) {
+ return new EmptyValueStatement(argument);
+ }
+
+ public static ValueStatement createValue(final Integer argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createValue(argument) : new RegularValueStatement(argument, substatements);
+ }
+
+ public static WhenStatement createWhen(final String rawArgument, final QualifiedBound argument) {
+ return new EmptyWhenStatement(rawArgument, argument);
+ }
+
+ public static WhenStatement createWhen(final String rawArgument, final QualifiedBound argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createWhen(rawArgument, argument)
+ : new RegularWhenStatement(rawArgument, argument, substatements);
+ }
+
+ public static YangVersionStatement createYangVersion(final YangVersion argument) {
+ return new EmptyYangVersionStatement(argument);
+ }
+
+ public static YangVersionStatement createYangVersion(final YangVersion argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createYangVersion(argument)
+ : new RegularYangVersionStatement(argument, substatements);
+ }
+
+ public static YinElementStatement createYinElement(final Boolean argument) {
+ return new EmptyYinElementStatement(argument);
+ }
+
+ public static YinElementStatement createYinElement(final Boolean argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createYinElement(argument)
+ : new RegularYinElementStatement(argument, substatements);
+ }
}
* 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.parser.rfc7950.stmt.key;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
* 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.parser.rfc7950.stmt.leaf_list;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.LeafListStatement;
* 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.parser.rfc7950.stmt.leaf;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.LeafStatement;
* 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.parser.rfc7950.stmt.length;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import java.util.List;
import org.opendaylight.yangtools.yang.model.api.stmt.LengthStatement;
* 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.parser.rfc7950.stmt.list;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement;
* 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.parser.rfc7950.stmt.mandatory;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.ArgumentToString;
* 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.parser.rfc7950.stmt.max_elements;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument;
* 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.parser.rfc7950.stmt.min_elements;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.ArgumentToString;
* 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.parser.rfc7950.stmt.modifier;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement;
import org.opendaylight.yangtools.yang.model.api.type.ModifierKind;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument;
final class EmptyModifierStatement extends WithArgument<ModifierKind> implements ModifierStatement {
- EmptyModifierStatement(final String rawArgument, final ModifierKind argument) {
- super(rawArgument, argument);
+ EmptyModifierStatement(final ModifierKind argument) {
+ super(argument.getKeyword(), argument);
}
}
* 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.parser.rfc7950.stmt.must;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.MustStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument;
* 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.parser.rfc7950.stmt.namespace;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.XMLNamespace;
import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement;
* 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.parser.rfc7950.stmt.notification;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement;
* 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.parser.rfc7950.stmt.ordered_by;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.Ordering;
* 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.parser.rfc7950.stmt.organization;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationStatement;
* 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.parser.rfc7950.stmt.output;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement;
* 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.parser.rfc7950.stmt.path;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import static java.util.Objects.requireNonNull;
* 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.parser.rfc7950.stmt.pattern;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.PatternExpression;
import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement;
* 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.parser.rfc7950.stmt.position;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement;
* 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.parser.rfc7950.stmt.prefix;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement;
* 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.parser.rfc7950.stmt.presence;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement;
* 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.parser.rfc7950.stmt.range;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import java.util.List;
import org.opendaylight.yangtools.yang.model.api.stmt.RangeStatement;
* 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.parser.rfc7950.stmt.reference;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement;
* 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.parser.rfc7950.stmt.require_instance;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.ArgumentToString;
* 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.parser.rfc7950.stmt.revision_date;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement;
* 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.parser.rfc7950.stmt.revision;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement;
* 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.parser.rfc7950.stmt.rpc;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.RpcStatement;
* 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.parser.rfc7950.stmt.type;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithRawStringArgument;
* 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.parser.rfc7950.stmt.typedef;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement;
* 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.parser.rfc7950.stmt.output;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
* 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.parser.rfc7950.stmt.unique;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import java.util.Set;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
* 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.parser.rfc7950.stmt.units;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement;
* 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.parser.rfc7950.stmt.uses;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement;
* 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.parser.rfc7950.stmt.value;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.ArgumentToString;
* 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.parser.rfc7950.stmt.when;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument;
* 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.parser.rfc7950.stmt.yang_version;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.common.YangVersion;
import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionStatement;
* 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.parser.rfc7950.stmt.yin_element;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.ArgumentToString;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement;
/**
* Static entry point to instantiating {@link DeclaredStatements} covered in the {@code RFC7950} metamodel which are
- * not really declared, i.e. inferred to exist.
+ * not really declared, but rather implicit.
*/
@Beta
@NonNullByDefault
-public final class UndeclaredStatements {
- private UndeclaredStatements() {
+public final class ImplicitStatements {
+ private ImplicitStatements() {
// Hidden on purpose
}
return substatements.isEmpty() ? createInput(argument)
: new RegularUndeclaredInputStatement(argument, substatements);
}
+
+ public static OutputStatement createOutput(final QName argument) {
+ return new EmptyUndeclaredOutputStatement(argument);
+ }
+
+ public static OutputStatement createOutput(final QName argument,
+ final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+ return substatements.isEmpty() ? createOutput(argument)
+ : new RegularUndeclaredOutputStatement(argument, substatements);
+ }
}
* 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.parser.rfc7950.stmt.module;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.UnqualifiedQName;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveRootStatement;
final class ModuleStatementImpl extends AbstractDeclaredEffectiveRootStatement<ModuleStatement>
implements ModuleStatement {
* 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.parser.rfc7950.stmt.refine;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.key;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import java.util.Collection;
* 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.parser.rfc7950.stmt.leaf_list;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.leaf;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.length;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import java.util.List;
* 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.parser.rfc7950.stmt.list;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.mandatory;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.max_elements;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.min_elements;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.modifier;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument.WithSubstatements;
final class RegularModifierStatement extends WithSubstatements<ModifierKind> implements ModifierStatement {
- RegularModifierStatement(final String rawArgument, final ModifierKind argument,
+ RegularModifierStatement(final ModifierKind argument,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- super(rawArgument, argument, substatements);
+ super(argument.getKeyword(), argument, substatements);
}
}
* 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.parser.rfc7950.stmt.must;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.namespace;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.XMLNamespace;
* 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.parser.rfc7950.stmt.notification;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.ordered_by;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import java.util.Collection;
* 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.parser.rfc7950.stmt.organization;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.eclipse.jdt.annotation.NonNull;
* 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.parser.rfc7950.stmt.output;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.path;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import java.util.Collection;
* 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.parser.rfc7950.stmt.pattern;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.position;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.Uint32;
* 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.parser.rfc7950.stmt.prefix;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.eclipse.jdt.annotation.NonNull;
* 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.parser.rfc7950.stmt.presence;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.eclipse.jdt.annotation.NonNull;
* 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.parser.rfc7950.stmt.range;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import java.util.List;
* 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.parser.rfc7950.stmt.reference;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.eclipse.jdt.annotation.NonNull;
* 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.parser.rfc7950.stmt.require_instance;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.revision_date;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.Revision;
* 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.parser.rfc7950.stmt.revision;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.Revision;
* 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.parser.rfc7950.stmt.rpc;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.type;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.typedef;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.output;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.unique;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import java.util.Set;
* 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.parser.rfc7950.stmt.units;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.eclipse.jdt.annotation.NonNull;
* 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.parser.rfc7950.stmt.uses;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.QName;
* 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.parser.rfc7950.stmt.value;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.when;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.yang_version;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.YangVersion;
* 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.parser.rfc7950.stmt.yin_element;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
* 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.parser.rfc7950.stmt.submodule;
+package org.opendaylight.yangtools.yang.model.spi.stmt;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.common.UnqualifiedQName;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveRootStatement;
final class SubmoduleStatementImpl extends AbstractDeclaredEffectiveRootStatement<SubmoduleStatement>
implements SubmoduleStatement {
import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
-import org.opendaylight.yangtools.yang.model.spi.stmt.UndeclaredStatements;
+import org.opendaylight.yangtools.yang.model.spi.stmt.ImplicitStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseOperationContainerStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
final StatementSource source = ctx.source();
switch (source) {
case CONTEXT:
- return UndeclaredStatements.createInput(ctx.getArgument(), substatements);
+ return ImplicitStatements.createInput(ctx.getArgument(), substatements);
case DECLARATION:
return DeclaredStatements.createInput(ctx.getArgument(), substatements);
default:
final StatementSource source = ctx.source();
switch (source) {
case CONTEXT:
- return UndeclaredStatements.createInput(ctx.getArgument());
+ return ImplicitStatements.createInput(ctx.getArgument());
case DECLARATION:
return DeclaredStatements.createInput(ctx.getArgument());
default:
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.antlr.YangStatementLexer;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected KeyStatement createDeclared(final StmtContext<Set<QName>, KeyStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularKeyStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createKey(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected KeyStatement createEmptyDeclared(final StmtContext<Set<QName>, KeyStatement, ?> ctx) {
- return new EmptyKeyStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createKey(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractSchemaTreeStatementSupport;
@Override
protected LeafStatement createDeclared(final StmtContext<QName, LeafStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularLeafStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createLeaf(ctx.getArgument(), substatements);
}
@Override
protected LeafStatement createEmptyDeclared(final StmtContext<QName, LeafStatement, ?> ctx) {
- return new EmptyLeafStatement(ctx.getArgument());
+ return DeclaredStatements.createLeaf(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractSchemaTreeStatementSupport;
@Override
protected LeafListStatement createDeclared(final StmtContext<QName, LeafListStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularLeafListStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createLeafList(ctx.getArgument(), substatements);
}
@Override
protected LeafListStatement createEmptyDeclared(final StmtContext<QName, LeafListStatement, ?> ctx) {
- return new EmptyLeafListStatement(ctx.getArgument());
+ return DeclaredStatements.createLeafList(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.LengthStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UnresolvedNumber;
import org.opendaylight.yangtools.yang.model.api.stmt.ValueRange;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected LengthStatement createDeclared(final StmtContext<List<ValueRange>, LengthStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularLengthStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createLength(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected LengthStatement createEmptyDeclared(final StmtContext<List<ValueRange>, LengthStatement, ?> ctx) {
- return new EmptyLengthStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createLength(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractSchemaTreeStatementSupport;
@Override
protected ListStatement createDeclared(final StmtContext<QName, ListStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularListStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createList(ctx.getArgument(), substatements);
}
@Override
protected ListStatement createEmptyDeclared(final StmtContext<QName, ListStatement, ?> ctx) {
- return new EmptyListStatement(ctx.getArgument());
+ return DeclaredStatements.createList(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractBooleanStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
private MandatoryStatementSupport() {
super(YangStmtMapping.MANDATORY,
- new EmptyMandatoryEffectiveStatement(new EmptyMandatoryStatement(Boolean.FALSE)),
- new EmptyMandatoryEffectiveStatement(new EmptyMandatoryStatement(Boolean.TRUE)),
+ new EmptyMandatoryEffectiveStatement(DeclaredStatements.createMandatory(Boolean.FALSE)),
+ new EmptyMandatoryEffectiveStatement(DeclaredStatements.createMandatory(Boolean.TRUE)),
StatementPolicy.contextIndependent());
}
@Override
protected MandatoryStatement createDeclared(final StmtContext<Boolean, MandatoryStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularMandatoryStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createMandatory(ctx.getArgument(), substatements);
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected MaxElementsStatement createDeclared(final StmtContext<String, MaxElementsStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularMaxElementsStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createMaxElements(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected MaxElementsStatement createEmptyDeclared(final StmtContext<String, MaxElementsStatement, ?> ctx) {
- return new EmptyMaxElementsStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createMaxElements(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
@Override
protected MinElementsStatement createDeclared(final Integer argument,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularMinElementsStatement(argument, substatements);
+ return DeclaredStatements.createMinElements(argument, substatements);
}
@Override
protected MinElementsStatement createEmptyDeclared(final Integer argument) {
- return new EmptyMinElementsStatement(argument);
+ return DeclaredStatements.createMinElements(argument);
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.ModifierEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement;
import org.opendaylight.yangtools.yang.model.api.type.ModifierKind;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected ModifierStatement createDeclared(final StmtContext<ModifierKind, ModifierStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularModifierStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createModifier(ctx.getArgument(), substatements);
}
@Override
protected ModifierStatement createEmptyDeclared(final StmtContext<ModifierKind, ModifierStatement, ?> ctx) {
- return new EmptyModifierStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createModifier(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.repo.api.SemVerSourceIdentifier;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.ModuleNamespace;
import org.opendaylight.yangtools.yang.parser.spi.NamespaceToModule;
import org.opendaylight.yangtools.yang.parser.spi.PreLinkageModuleNamespace;
@Override
protected ModuleStatement createDeclared(final StmtContext<UnqualifiedQName, ModuleStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new ModuleStatementImpl(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createModule(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MustEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MustStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.XPathSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected MustStatement createDeclared(final StmtContext<QualifiedBound, MustStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularMustStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createMust(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected MustStatement createEmptyDeclared(final StmtContext<QualifiedBound, MustStatement, ?> ctx) {
- return new EmptyMustStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createMust(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected NamespaceStatement createDeclared(@NonNull final StmtContext<XMLNamespace, NamespaceStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularNamespaceStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createNamespace(ctx.getArgument(), substatements);
}
@Override
protected NamespaceStatement createEmptyDeclared(final StmtContext<XMLNamespace, NamespaceStatement, ?> ctx) {
- return new EmptyNamespaceStatement(ctx.getArgument());
+ return DeclaredStatements.createNamespace(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.NotificationEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractSchemaTreeStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected final NotificationStatement createDeclared(final StmtContext<QName, NotificationStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularNotificationStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createNotification(ctx.getArgument(), substatements);
}
@Override
protected final NotificationStatement createEmptyDeclared(final StmtContext<QName, NotificationStatement, ?> ctx) {
- return new EmptyNotificationStatement(ctx.getArgument());
+ return DeclaredStatements.createNotification(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
* Ordered-by has low argument cardinality, hence we can reuse them in case declaration does not have any
* substatements (which is the usual case).
*/
- private static final @NonNull EmptyOrderedByStatement EMPTY_SYSTEM_DECL =
- new EmptyOrderedByStatement(Ordering.SYSTEM);
- private static final @NonNull EmptyOrderedByStatement EMPTY_USER_DECL =
- new EmptyOrderedByStatement(Ordering.USER);
+ private static final @NonNull OrderedByStatement EMPTY_SYSTEM_DECL =
+ DeclaredStatements.createOrderedBy(Ordering.SYSTEM);
+ private static final @NonNull OrderedByStatement EMPTY_USER_DECL =
+ DeclaredStatements.createOrderedBy(Ordering.USER);
private static final @NonNull EmptyOrderedByEffectiveStatement EMPTY_SYSTEM_EFF =
- new EmptyOrderedByEffectiveStatement(EMPTY_SYSTEM_DECL);
+ new EmptyOrderedByEffectiveStatement(EMPTY_SYSTEM_DECL);
private static final @NonNull EmptyOrderedByEffectiveStatement EMPTY_USER_EFF =
- new EmptyOrderedByEffectiveStatement(EMPTY_USER_DECL);
+ new EmptyOrderedByEffectiveStatement(EMPTY_USER_DECL);
private OrderedByStatementSupport() {
super(YangStmtMapping.ORDERED_BY, StatementPolicy.contextIndependent());
@Override
protected OrderedByStatement createDeclared(final StmtContext<Ordering, OrderedByStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularOrderedByStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createOrderedBy(ctx.getArgument(), substatements);
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStringStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
@Override
protected OrganizationStatement createDeclared(final String argument,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularOrganizationStatement(argument, substatements);
+ return DeclaredStatements.createOrganization(argument, substatements);
}
@Override
protected OrganizationStatement createEmptyDeclared(final String argument) {
- return new EmptyOrganizationStatement(argument);
+ return DeclaredStatements.createOrganization(argument);
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
+import org.opendaylight.yangtools.yang.model.spi.stmt.ImplicitStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseOperationContainerStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
final StatementSource source = ctx.source();
switch (source) {
case CONTEXT:
- return new RegularUndeclaredOutputStatement(ctx.getArgument(), substatements);
+ return ImplicitStatements.createOutput(ctx.getArgument(), substatements);
case DECLARATION:
- return new RegularOutputStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createOutput(ctx.getArgument(), substatements);
default:
throw new IllegalStateException("Unhandled statement source " + source);
}
final StatementSource source = ctx.source();
switch (source) {
case CONTEXT:
- return new EmptyUndeclaredOutputStatement(ctx.getArgument());
+ return ImplicitStatements.createOutput(ctx.getArgument());
case DECLARATION:
- return new EmptyOutputStatement(ctx.getArgument());
+ return DeclaredStatements.createOutput(ctx.getArgument());
default:
throw new IllegalStateException("Unhandled statement source " + source);
}
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PathEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PathStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected PathStatement createDeclared(final StmtContext<PathExpression, PathStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularPathStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createPath(ctx.getArgument(), substatements);
}
@Override
protected PathStatement createEmptyDeclared(final StmtContext<PathExpression, PathStatement, ?> ctx) {
- return new EmptyPathStatement(ctx.getArgument());
+ return DeclaredStatements.createPath(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.PatternEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PatternExpression;
import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.model.util.RegexUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected PatternStatement createDeclared(final StmtContext<PatternExpression, PatternStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularPatternStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createPattern(ctx.getArgument(), substatements);
}
@Override
protected PatternStatement createEmptyDeclared(
final StmtContext<PatternExpression, PatternStatement, ?> ctx) {
- return new EmptyPatternStatement(ctx.getArgument());
+ return DeclaredStatements.createPattern(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PositionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
@Override
protected PositionStatement createDeclared(final Uint32 argument,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularPositionStatement(argument, substatements);
+ return DeclaredStatements.createPosition(argument, substatements);
}
@Override
protected PositionStatement createEmptyDeclared(final Uint32 argument) {
- return new EmptyPositionStatement(argument);
+ return DeclaredStatements.createPosition(argument);
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PrefixEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected PrefixStatement createDeclared(final StmtContext<String, PrefixStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularPrefixStatement(ctx.getRawArgument(), substatements);
+ return DeclaredStatements.createPrefix(ctx.getRawArgument(), substatements);
}
@Override
protected PrefixStatement createEmptyDeclared(final StmtContext<String, PrefixStatement, ?> ctx) {
- return new EmptyPrefixStatement(ctx.getRawArgument());
+ return DeclaredStatements.createPrefix(ctx.getRawArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected PresenceStatement createDeclared(final StmtContext<String, PresenceStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularPresenceStatement(ctx.getRawArgument(), substatements);
+ return DeclaredStatements.createPresence(ctx.getRawArgument(), substatements);
}
@Override
protected PresenceStatement createEmptyDeclared(final StmtContext<String, PresenceStatement, ?> ctx) {
- return new EmptyPresenceStatement(ctx.getRawArgument());
+ return DeclaredStatements.createPresence(ctx.getRawArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.RangeStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UnresolvedNumber;
import org.opendaylight.yangtools.yang.model.api.stmt.ValueRange;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected RangeStatement createDeclared(final StmtContext<List<ValueRange>, RangeStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularRangeStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createRange(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected RangeStatement createEmptyDeclared(final StmtContext<List<ValueRange>, RangeStatement, ?> ctx) {
- return new EmptyRangeStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createRange(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStringStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
@Override
protected ReferenceStatement createDeclared(final String argument,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularReferenceStatement(argument, substatements);
+ return DeclaredStatements.createReference(argument, substatements);
}
@Override
protected ReferenceStatement createEmptyDeclared(final String argument) {
- return new EmptyReferenceStatement(argument);
+ return DeclaredStatements.createReference(argument);
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.RefineEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected RefineStatement createDeclared(final StmtContext<Descendant, RefineStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RefineStatementImpl(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createRefine(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected RefineStatement createEmptyDeclared(final StmtContext<Descendant, RefineStatement, ?> ctx) {
// Empty refine is exceedingly unlikely: let's be lazy and reuse the implementation
- return createDeclared(ctx, ImmutableList.of());
+ return DeclaredStatements.createRefine(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractBooleanStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
private RequireInstanceStatementSupport() {
super(YangStmtMapping.REQUIRE_INSTANCE,
- new EmptyRequireInstanceEffectiveStatement(new EmptyRequireInstanceStatement(Boolean.FALSE)),
- new EmptyRequireInstanceEffectiveStatement(new EmptyRequireInstanceStatement(Boolean.TRUE)),
+ new EmptyRequireInstanceEffectiveStatement(DeclaredStatements.createRequireInstance(Boolean.FALSE)),
+ new EmptyRequireInstanceEffectiveStatement(DeclaredStatements.createRequireInstance(Boolean.TRUE)),
StatementPolicy.contextIndependent());
}
@Override
protected RequireInstanceStatement createDeclared(final StmtContext<Boolean, RequireInstanceStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularRequireInstanceStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createRequireInstance(ctx.getArgument(), substatements);
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected RevisionStatement createDeclared(final StmtContext<Revision, RevisionStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularRevisionStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createRevision(ctx.getArgument(), substatements);
}
@Override
protected RevisionStatement createEmptyDeclared(final StmtContext<Revision, RevisionStatement, ?> ctx) {
- return new EmptyRevisionStatement(ctx.getArgument());
+ return DeclaredStatements.createRevision(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected RevisionDateStatement createDeclared(final StmtContext<Revision, RevisionDateStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularRevisionDateStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createRevisionDate(ctx.getArgument(), substatements);
}
@Override
protected RevisionDateStatement createEmptyDeclared(final StmtContext<Revision, RevisionDateStatement, ?> ctx) {
- return new EmptyRevisionDateStatement(ctx.getArgument());
+ return DeclaredStatements.createRevisionDate(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.RpcStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.input.InputStatementSupport;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.output.OutputStatementSupport;
@Override
protected RpcStatement createDeclared(final StmtContext<QName, RpcStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularRpcStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createRpc(ctx.getArgument(), substatements);
}
@Override
protected RpcStatement createEmptyDeclared(final StmtContext<QName, RpcStatement, ?> ctx) {
- return new EmptyRpcStatement(ctx.getArgument());
+ return DeclaredStatements.createRpc(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx;
@Override
protected SubmoduleStatement createDeclared(final StmtContext<UnqualifiedQName, SubmoduleStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new SubmoduleStatementImpl(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createSubmodule(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
import org.opendaylight.yangtools.yang.model.api.type.Uint64TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.model.spi.type.BitsTypeBuilder;
import org.opendaylight.yangtools.yang.model.spi.type.EnumerationTypeBuilder;
import org.opendaylight.yangtools.yang.model.spi.type.InstanceIdentifierTypeBuilder;
@Override
protected final TypeStatement createDeclared(final StmtContext<String, TypeStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularTypeStatement(ctx.getRawArgument(), substatements);
+ return DeclaredStatements.createType(ctx.getRawArgument(), substatements);
}
@Override
protected final TypeStatement createEmptyDeclared(final StmtContext<String, TypeStatement, ?> ctx) {
final TypeStatement builtin;
return (builtin = BuiltinTypeStatement.lookup(ctx)) != null ? builtin
- : new EmptyTypeStatement(ctx.getRawArgument());
+ : DeclaredStatements.createType(ctx.getRawArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils;
import org.opendaylight.yangtools.yang.parser.spi.TypeNamespace;
@Override
protected TypedefStatement createDeclared(final StmtContext<QName, TypedefStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularTypedefStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createTypedef(ctx.getArgument(), substatements);
}
@Override
protected TypedefStatement createEmptyDeclared(final StmtContext<QName, TypedefStatement, ?> ctx) {
- return new EmptyTypedefStatement(ctx.getArgument());
+ return DeclaredStatements.createTypedef(ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
import org.opendaylight.yangtools.yang.model.api.stmt.UniqueEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected UniqueStatement createDeclared(final StmtContext<Set<Descendant>, UniqueStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularUniqueStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createUnique(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected UniqueStatement createEmptyDeclared(final StmtContext<Set<Descendant>, UniqueStatement, ?> ctx) {
- return new EmptyUniqueStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createUnique(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Override
protected UnitsStatement createDeclared(final StmtContext<String, UnitsStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularUnitsStatement(ctx.getRawArgument(), substatements);
+ return DeclaredStatements.createUnits(ctx.getRawArgument(), substatements);
}
@Override
protected UnitsStatement createEmptyDeclared(final StmtContext<String, UnitsStatement, ?> ctx) {
- return new EmptyUnitsStatement(ctx.getRawArgument());
+ return DeclaredStatements.createUnits(ctx.getRawArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UsesEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.YangValidationBundles;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.refine.RefineEffectiveStatementImpl;
@Override
protected UsesStatement createDeclared(final StmtContext<QName, UsesStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularUsesStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createUses(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected UsesStatement createEmptyDeclared(final StmtContext<QName, UsesStatement, ?> ctx) {
- return new EmptyUsesStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createUses(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ValueEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
@Override
protected ValueStatement createDeclared(final Integer argument,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularValueStatement(argument, substatements);
+ return DeclaredStatements.createValue(argument, substatements);
}
@Override
protected ValueStatement createEmptyDeclared(@NonNull final Integer argument) {
- return new EmptyValueStatement(argument);
+ return DeclaredStatements.createValue(argument);
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.WhenEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.XPathSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Override
protected WhenStatement createDeclared(final StmtContext<QualifiedBound, WhenStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularWhenStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
+ return DeclaredStatements.createWhen(ctx.getRawArgument(), ctx.getArgument(), substatements);
}
@Override
protected WhenStatement createEmptyDeclared(final StmtContext<QualifiedBound, WhenStatement, ?> ctx) {
- return new EmptyWhenStatement(ctx.getRawArgument(), ctx.getArgument());
+ return DeclaredStatements.createWhen(ctx.getRawArgument(), ctx.getArgument());
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
.build();
private static final YangVersionStatementSupport INSTANCE = new YangVersionStatementSupport();
- private static final @NonNull EmptyYangVersionStatement EMPTY_VER1_DECL =
- new EmptyYangVersionStatement(YangVersion.VERSION_1);
- private static final @NonNull EmptyYangVersionStatement EMPTY_VER1_1_DECL =
- new EmptyYangVersionStatement(YangVersion.VERSION_1_1);
+ private static final @NonNull YangVersionStatement EMPTY_VER1_DECL =
+ DeclaredStatements.createYangVersion(YangVersion.VERSION_1);
+ private static final @NonNull YangVersionStatement EMPTY_VER1_1_DECL =
+ DeclaredStatements.createYangVersion(YangVersion.VERSION_1_1);
private static final @NonNull EmptyYangVersionEffectiveStatement EMPTY_VER1_EFF =
- new EmptyYangVersionEffectiveStatement(EMPTY_VER1_DECL);
+ new EmptyYangVersionEffectiveStatement(EMPTY_VER1_DECL);
private static final @NonNull EmptyYangVersionEffectiveStatement EMPTY_VER1_1_EFF =
- new EmptyYangVersionEffectiveStatement(EMPTY_VER1_1_DECL);
+ new EmptyYangVersionEffectiveStatement(EMPTY_VER1_1_DECL);
private YangVersionStatementSupport() {
super(YangStmtMapping.YANG_VERSION, StatementPolicy.reject());
@Override
protected YangVersionStatement createDeclared(final StmtContext<YangVersion, YangVersionStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularYangVersionStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createYangVersion(ctx.getArgument(), substatements);
}
@Override
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.YinElementEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement;
+import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractBooleanStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
private YinElementStatementSupport() {
super(YangStmtMapping.YIN_ELEMENT,
- new EmptyYinElementEffectiveStatement(new EmptyYinElementStatement(Boolean.FALSE)),
- new EmptyYinElementEffectiveStatement(new EmptyYinElementStatement(Boolean.TRUE)),
+ new EmptyYinElementEffectiveStatement(DeclaredStatements.createYinElement(Boolean.FALSE)),
+ new EmptyYinElementEffectiveStatement(DeclaredStatements.createYinElement(Boolean.TRUE)),
StatementPolicy.reject());
}
@Override
protected YinElementStatement createDeclared(final StmtContext<Boolean, YinElementStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularYinElementStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createYinElement(ctx.getArgument(), substatements);
}
@Override