001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package dev.metaschema.databind.model.annotations;
007
008import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
009import static java.lang.annotation.RetentionPolicy.RUNTIME;
010
011import java.lang.annotation.Retention;
012import java.lang.annotation.Target;
013
014import edu.umd.cs.findbugs.annotations.NonNull;
015
016/**
017 * Defines a namespace prefix binding for Metapath expressions.
018 */
019@Retention(RUNTIME)
020@Target(ANNOTATION_TYPE)
021public @interface NsBinding {
022  /**
023   * The Metapath prefix to bind to.
024   *
025   * @return the prefix
026   */
027  @NonNull
028  String prefix();
029
030  /**
031   * The Metapath namespace URI that is bound to the prefix.
032   *
033   * @return the prefix
034   */
035  @NonNull
036  String uri();
037}