java.lang.Object
org.eclipse.birt.report.model.api.util.URIUtil

public class URIUtil extends Object
Utility class to handle URI.
  • Field Details

  • Constructor Details

    • URIUtil

      public URIUtil()
  • Method Details

    • getLocalPath

      public static String getLocalPath(String uri)
      Checks uri is file path. If uri is an absolute uri and refers to a file, removes "file://" and returns the file path. If uri is relative uri and refers to a file, returns the uri. For other cases, returns null.

      For examples, following uri are supported:

      • file://C:/disk/test/data.file
      • /C:/disk/test/data.file
      • /usr/local/disk/test/data.file
      • C:\\disk\\test/data.file
      • C:/disk/test/data.file
      • ./test/data.file
      Parameters:
      uri - the input uri
      Returns:
      the file path if uri refers to a file. Otherwise null.
    • convertFileNameToURLString

      public static String convertFileNameToURLString(String filePath)
      Converts a filename to a valid URL string. The filename can include directory information, either relative or absolute directory.
      Parameters:
      filePath - the file name
      Returns:
      a valid URL String
    • getDirectory

      @Deprecated public static URL getDirectory(String filePath)
      Deprecated.
      not supported
      Returns the directory of the given file name in a valid URL. The filename can include directory information, either relative or absolute directory. And the file should be on the local disk. The parameter filePath should be decoded. If the filePath is encoded, it should be converted to URL and call getDirectory as the parameter.
      Parameters:
      filePath - the file name
      Returns:
      a valid URL
    • getDirectory

      @Deprecated public static URL getDirectory(URL url)
      Deprecated.
      not supported
      Returns the directory of the given file name in a valid URL.The filename can include directory information, either relative or absolute directory. And the file should be on the local disk. The url has been encoded.
      Parameters:
      url - the url of the file.
      Returns:
      a valid URL
    • getRelativePath

      public static String getRelativePath(String base, String resource)
      Return the relative path for the given resource according to base. Only handle file system and valid url syntax.

      The base value should be directory ONLY and does NOT contain file name and the format can be:

      • ./../hello/
      • C:\\hello\..\
      • /C:/../hello/
      The spearator in the return path is platform-indepedent "/". Please note that the / in the end of directory will be striped in the return value.
      Parameters:
      base - the base directory
      resource - the full path
      Returns:
      the relative path.
    • resolveAbsolutePath

      public static String resolveAbsolutePath(String base, String relativePath)
      Gets the absolute path for the given base and relativePath .

      The base value should be directory ONLY and does NOT contain file name and the format can be:

      • ./../hello/
      • C:\\hello\..\
      • /C:/../hello/
      The spearator in the return path is platform-depedent.
      Parameters:
      base - the base directory
      relativePath - the relative path
      Returns:
      the absolute path
    • isValidResourcePath

      public static boolean isValidResourcePath(String resourceDir)
      Tests whether the input string is a valid resource directory.
      Parameters:
      resourceDir - the resource directory
      Returns:
      true if the input string is a valid resource directory, false otherwise.
      Throws:
      MalformedURLException