Package com.google.gwt.util.tools

## Class Utility

- java.lang.Object
- - com.google.gwt.util.tools.Utility

-     public final class Utility
      extends java.lang.Object

  A smattering of useful functions.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Utility()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `close​(java.lang.AutoCloseable closeable)` | Helper that ignores exceptions during close, because what are you going to do?
    `static java.io.File` | `createNormalFile​(java.io.File parent, java.lang.String fileName, boolean overwrite, boolean ignore)` |
    `static java.io.File` | `getDirectory​(java.io.File parent, java.lang.String dirName, boolean create)` |
    `static java.io.File` | `getDirectory​(java.lang.String dirPath, boolean create)` |
    `static java.lang.String` | `getFileFromClassPath​(java.lang.String partialPath)` | Gets the contents of a file from the class path as a String.
    `static java.lang.String` | `getInstallPath()` |
    `static java.io.File` | `makeTemporaryDirectory​(java.io.File baseDir, java.lang.String prefix)` | Creates a randomly-named temporary directory.
    `static void` | `streamOut​(java.io.InputStream in, java.io.OutputStream out, int bufferSize)` |
    `static int` | `versionCompare​(java.lang.String v1, java.lang.String v2)` | Handles comparison between version numbers (the right way(TM)).
    `static void` | `writeTemplateBinaryFile​(java.io.File file, byte[] contents)` |
    `static void` | `writeTemplateFile​(java.io.File file, java.lang.String contents, java.util.Map<java.lang.String,​java.lang.String> replacements)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Utility

          public Utility()

  - ### Method Detail

    - #### close

          public static void close​(java.lang.AutoCloseable closeable)

      Helper that ignores exceptions during close, because what are you going to do?

    - #### createNormalFile

          public static java.io.File createNormalFile​(java.io.File parent,
                                                      java.lang.String fileName,
                                                      boolean overwrite,
                                                      boolean ignore)
                                               throws java.io.IOException

      Parameters:
        `parent` - Parent directory
        `fileName` - New file name
        `overwrite` - Is overwriting an existing file allowed?
      Returns:
        Handle to the file
      Throws:
        `java.io.IOException` - If the file cannot be created, or if the file already existed and overwrite was false.

    - #### getDirectory

          public static java.io.File getDirectory​(java.io.File parent,
                                                  java.lang.String dirName,
                                                  boolean create)
                                           throws java.io.IOException

      Parameters:
        `parent` - Parent directory of the requested directory.
        `dirName` - Requested name for the directory.
        `create` - Create the directory if it does not already exist?
      Returns:
        A `File` representing a directory that now exists.
      Throws:
        `java.io.IOException` - If the directory is not found and/or cannot be created.

    - #### getDirectory

          public static java.io.File getDirectory​(java.lang.String dirPath,
                                                  boolean create)
                                           throws java.io.IOException

      Parameters:
        `dirPath` - Requested path for the directory.
        `create` - Create the directory if it does not already exist?
      Returns:
        A `File` representing a directory that now exists.
      Throws:
        `java.io.IOException` - If the directory is not found and/or cannot be created.

    - #### getFileFromClassPath

          public static java.lang.String getFileFromClassPath​(java.lang.String partialPath)
                                                       throws java.io.IOException

      Gets the contents of a file from the class path as a String. Note: this method is only guaranteed to work for resources in the same class loader that contains this `Utility` class.
      Parameters:
        `partialPath` - the partial path to the resource on the class path
      Returns:
        the contents of the file
      Throws:
        `java.io.IOException` - if the file could not be found or an error occurred while reading it

    - #### getInstallPath

          public static java.lang.String getInstallPath()

    - #### makeTemporaryDirectory

          public static java.io.File makeTemporaryDirectory​(java.io.File baseDir,
                                                            java.lang.String prefix)
                                                     throws java.io.IOException

      Creates a randomly-named temporary directory.
      Parameters:
        `baseDir` - base directory to contain the new directory. May be `null`, in which case the directory given by the `java.io.tmpdir` system property will be used.
        `prefix` - the initial characters of the new directory name
      Returns:
        a newly-created temporary directory; the caller must delete this directory (either when done or on VM exit)
      Throws:
        `java.io.IOException`

    - #### streamOut

          public static void streamOut​(java.io.InputStream in,
                                       java.io.OutputStream out,
                                       int bufferSize)
                                throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeTemplateBinaryFile

          public static void writeTemplateBinaryFile​(java.io.File file,
                                                     byte[] contents)
                                              throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### writeTemplateFile

          public static void writeTemplateFile​(java.io.File file,
                                               java.lang.String contents,
                                               java.util.Map<java.lang.String,​java.lang.String> replacements)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### versionCompare

          public static int versionCompare​(java.lang.String v1,
                                           java.lang.String v2)

      Handles comparison between version numbers (the right way(TM)). Examples of version strings: 1.6.7, 1.2_b10
      Parameters:
        `v1` - the first version to compare.
        `v2` - the second version to compare.
      Returns:
        a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
      Throws:
        `java.lang.IllegalArgumentException` - if the version number are not proper (i.e. the do not comply with the following regular expression [0-9]+(.[0-9]+)*(_[a-zA-Z0-9]+)?