Bug 6867: Extend yang statement parser to support different yang versions
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc7950 / ContainerStatementRfc7950Support.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.yangtools.yang.parser.stmt.rfc7950;
9
10 import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping;
11 import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator;
12 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.ContainerStatementImpl;
13
14 public class ContainerStatementRfc7950Support extends ContainerStatementImpl.Definition {
15     private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(Rfc6020Mapping
16             .CONTAINER)
17             .addAny(Rfc6020Mapping.ANYXML)
18             .addAny(Rfc6020Mapping.CHOICE)
19             .addOptional(Rfc6020Mapping.CONFIG)
20             .addAny(Rfc6020Mapping.CONTAINER)
21             .addOptional(Rfc6020Mapping.DESCRIPTION)
22             .addAny(Rfc6020Mapping.GROUPING)
23             .addAny(Rfc6020Mapping.IF_FEATURE)
24             .addAny(Rfc6020Mapping.LEAF)
25             .addAny(Rfc6020Mapping.LEAF_LIST)
26             .addAny(Rfc6020Mapping.LIST)
27             .addAny(Rfc6020Mapping.MUST)
28             .addOptional(Rfc6020Mapping.PRESENCE)
29             .addOptional(Rfc6020Mapping.REFERENCE)
30             .addOptional(Rfc6020Mapping.STATUS)
31             .addAny(Rfc6020Mapping.TYPEDEF)
32             .addAny(Rfc6020Mapping.USES)
33             .addOptional(Rfc6020Mapping.WHEN)
34             .addAny(Rfc6020Mapping.NOTIFICATION)
35             .build();
36
37     @Override
38     protected SubstatementValidator getSubstatementValidator() {
39         return SUBSTATEMENT_VALIDATOR;
40     }
41 }