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.model.api.meta.IdentifierNamespace;
14 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
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 interface ValidationBundlesNamespace extends
21 IdentifierNamespace<ValidationBundlesNamespace.ValidationBundleType, Collection<?>> {
22 NamespaceBehaviour<ValidationBundleType, Collection<?>, @NonNull ValidationBundlesNamespace> BEHAVIOUR =
23 NamespaceBehaviour.global(ValidationBundlesNamespace.class);
25 enum ValidationBundleType {
27 * Whether a node is suitable refine substatement.
29 SUPPORTED_REFINE_SUBSTATEMENTS,
32 * Whether a node is suitable target for refine operation.
34 SUPPORTED_REFINE_TARGETS,
37 * Whether a node is suitable target for augment operation.
39 SUPPORTED_AUGMENT_TARGETS,
42 * Whether a <a href="https://tools.ietf.org/html/rfc6020#section-7.9.2">case shorthand</a> can be created for a
45 // FIXME: 6.0.0: consider removing this constant, this functionality is part of statement support.
46 SUPPORTED_CASE_SHORTHANDS,
49 * Whether a node is data node.