1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package dev.metaschema.databind.model.annotations;
7   
8   import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
9   import static java.lang.annotation.RetentionPolicy.RUNTIME;
10  
11  import java.lang.annotation.Retention;
12  import java.lang.annotation.Target;
13  
14  import edu.umd.cs.findbugs.annotations.NonNull;
15  
16  /**
17   * Defines a namespace prefix binding for Metapath expressions.
18   */
19  @Retention(RUNTIME)
20  @Target(ANNOTATION_TYPE)
21  public @interface NsBinding {
22    /**
23     * The Metapath prefix to bind to.
24     *
25     * @return the prefix
26     */
27    @NonNull
28    String prefix();
29  
30    /**
31     * The Metapath namespace URI that is bound to the prefix.
32     *
33     * @return the prefix
34     */
35    @NonNull
36    String uri();
37  }