View Javadoc
1   /**
2    * Copyright (C) 2014-2018 Philip Helger (www.helger.com)
3    * philip[at]helger[dot]com
4    *
5    * Licensed under the Apache License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * You may obtain a copy of the License at
8    *
9    *         http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package com.helger.schematron.resolve;
18  
19  import java.io.IOException;
20  
21  import javax.annotation.Nonnull;
22  
23  import com.helger.commons.annotation.Nonempty;
24  import com.helger.commons.io.resource.IReadableResource;
25  
26  /**
27   * Generic include resolver
28   * 
29   * @author Philip Helger
30   */
31  public interface ISchematronIncludeResolver
32  {
33    /**
34     * Resolve the content of the passed href to a resource
35     * 
36     * @param sHref
37     *        The source href that needs to be resolved relative to some base href
38     * @return The location of the included href
39     * @throws IOException
40     *         In case of a resolution error
41     */
42    @Nonnull
43    IReadableResource getResolvedSchematronResource (@Nonnull @Nonempty String sHref) throws IOException;
44  }