1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package gov.nist.secauto.metaschema.core.model.constraint;
7   
8   import java.net.URI;
9   import java.util.List;
10  
11  import edu.umd.cs.findbugs.annotations.NonNull;
12  
13  /**
14   * Represents a set of target constraints that apply to a given Metaschema
15   * module namespace and short name.
16   */
17  public interface IScopedContraints {
18    /**
19     * The Metaschema module namespace the constraints apply to.
20     *
21     * @return the namespace
22     */
23    @NonNull
24    URI getModuleNamespace();
25  
26    /**
27     * The Metaschema module short name the constraints apply to.
28     *
29     * @return the short name
30     */
31    @NonNull
32    String getModuleShortName();
33  
34    /**
35     * The collection of target constraints.
36     *
37     * @return the constraints
38     */
39    @NonNull
40    List<ITargetedConstraints> getTargetedContraints();
41  }