1 /*
2 * SPDX-FileCopyrightText: none
3 * SPDX-License-Identifier: CC0-1.0
4 */
5
6 package dev.metaschema.core.model;
7
8 import java.net.URI;
9
10 import edu.umd.cs.findbugs.annotations.NonNull;
11
12 /**
13 * Provides URI resolution capabilities for Metaschema resources.
14 */
15 @FunctionalInterface
16 public interface IUriResolver {
17 /**
18 * Resolve the provided URI, producing a resolved URI, which may point to a
19 * different resource than the provided URI.
20 *
21 * @param uri
22 * the URI to resolve
23 * @return the resulting URI
24 */
25 @NonNull
26 URI resolve(@NonNull URI uri);
27 }