2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
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
9 package org.opendaylight.yangtools.yang.parser.spi.validation;
11 import java.util.Collection;
12 import org.eclipse.jdt.annotation.NonNull;
13 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
14 import org.opendaylight.yangtools.yang.parser.spi.meta.ParserNamespace;
17 * Namespace used for validating whether a node is of some type, e.g. usable target for some operation or has other
18 * significant properties.
20 public final class ValidationBundles {
21 public enum ValidationBundleType {
23 * Whether a node is suitable refine substatement.
25 SUPPORTED_REFINE_SUBSTATEMENTS,
28 * Whether a node is suitable target for refine operation.
30 SUPPORTED_REFINE_TARGETS,
33 * Whether a node is suitable target for augment operation.
35 SUPPORTED_AUGMENT_TARGETS,
38 * Whether a <a href="https://tools.ietf.org/html/rfc6020#section-7.9.2">case shorthand</a> can be created for a
41 // FIXME: 7.0.0: consider removing this constant, this functionality is part of statement support.
42 SUPPORTED_CASE_SHORTHANDS,
45 * Whether a node is data node.
50 public static final @NonNull ParserNamespace<ValidationBundleType, Collection<?>> NAMESPACE =
51 new ParserNamespace<>("validationBundles");
53 public static final @NonNull NamespaceBehaviour<?, ?, ?> BEHAVIOUR = NamespaceBehaviour.global(NAMESPACE);
55 private ValidationBundles() {