001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package dev.metaschema.core.model;
007
008import edu.umd.cs.findbugs.annotations.NonNull;
009
010/**
011 * Base implementation of {@link IResourceResolver} providing URI resolution
012 * support.
013 * <p>
014 * This class maintains an optional {@link IUriResolver} that can be configured
015 * to customize URI resolution behavior.
016 */
017public class AbstractResourceResolver implements IResourceResolver {
018  /**
019   * An {@link IUriResolver} is not provided by default.
020   */
021  private IUriResolver uriResolver;
022
023  @Override
024  public IUriResolver getUriResolver() {
025    return uriResolver;
026  }
027
028  /**
029   * Set the URI resolver for this resource resolver.
030   *
031   * @param uriResolver
032   *          the URI resolver
033   */
034  public void setUriResolver(@NonNull IUriResolver uriResolver) {
035    this.uriResolver = uriResolver;
036  }
037}