Class URIUtils

java.lang.Object
org.opengis.cite.cat30.util.URIUtils

public class URIUtils extends Object
Provides a collection of utility methods for manipulating or resolving URI references.
  • Constructor Details

    • URIUtils

      public URIUtils()
  • Method Details

    • parseURI

      public static Document parseURI(URI uriRef) throws SAXException, IOException
      Parses the content of the given URI as an XML document and returns a new DOM Document object. Entity reference nodes will not be expanded. XML inclusions (xi:include elements) will be processed if present.
      Parameters:
      uriRef - An absolute URI specifying the location of an XML resource.
      Returns:
      A DOM Document node representing an XML resource.
      Throws:
      SAXException - If the resource cannot be parsed.
      IOException - If the resource is not accessible.
    • dereferenceURI

      public static File dereferenceURI(URI uriRef) throws IOException
      Dereferences the given URI and stores the resulting resource representation in a local file. The file will be located in the default temporary file directory.
      Parameters:
      uriRef - An absolute URI specifying the location of some resource.
      Returns:
      A File containing the content of the resource; it may be empty if resolution failed for any reason.
      Throws:
      IOException - If an IO error occurred.
    • resolveRelativeURI

      public static URI resolveRelativeURI(String baseURI, String uriRef)
      Constructs an absolute URI from the given URI reference and a base URI.
      Parameters:
      baseURI - The base URI; if present, it must be an absolute URI.
      uriRef - A URI reference that may be relative to the given base URI.
      Returns:
      The resulting URI.
      See Also:
    • getPercentEncodedString

      public static String getPercentEncodedString(String str)
      Replaces characters not allowed in the query component of a URI with their equivalent percent-encoded values (UTF-8). While this may encode more "unsafe" characters than is strictly necessary according to RFC 3986 (see ABNF fragment below), it should not affect query processing.
       query = *( pchar / "/" / "?" )
       pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
       unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
       
      Parameters:
      str - The sequence of characters to be encoded.
      Returns:
      A percent-encoded string.
      See Also: