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}