/* * Copyright (c) 2016 Inocybe Technologies and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.yang.parser.stmt.rfc7950; import com.google.common.annotations.Beta; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.ImportStatementDefinition; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.SupportedExtensionsMapping; /** * Implementation of import statement definition for Yang 1.1 (RFC 7950) to * allow import statement to have "description" and "reference" as substatements. */ @Beta public class ImportStatementRfc7950Support extends ImportStatementDefinition { private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator .builder(YangStmtMapping.IMPORT) .addMandatory(YangStmtMapping.PREFIX) .addOptional(YangStmtMapping.REVISION_DATE) .addOptional(SupportedExtensionsMapping.SEMANTIC_VERSION) .addOptional(YangStmtMapping.DESCRIPTION) .addOptional(YangStmtMapping.REFERENCE) .build(); @Override protected SubstatementValidator getSubstatementValidator() { return SUBSTATEMENT_VALIDATOR; } }