StandardUtilities (jEdit API Documentation)
Date: 2015-02-03

org.gjt.sp.util

## Class StandardUtilities

- java.lang.Object
- - org.gjt.sp.util.StandardUtilities

-     public class StandardUtilities
      extends java.lang.Object

  Several tools that depends on JDK only.
  Since:
    4.3pre5

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `StandardUtilities.StringCompare<E>` Compares objects as strings.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.text.DecimalFormat` | `KB_FORMAT`
    `static java.text.DecimalFormat` | `MB_FORMAT`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `charsToEscapes(java.lang.String str)` Escapes newlines, tabs, backslashes, and quotes in the specified string.
    `static java.lang.String` | `charsToEscapes(java.lang.String str, java.lang.String toEscape)` Escapes the specified characters in the specified string.
    `static int` | `compareStrings(java.lang.String str1, java.lang.String str2, boolean ignoreCase)` Compares two strings.
    `static java.lang.String` | `createWhiteSpace(int len, int tabSize)` Creates a string of white space with the specified length.
    `static java.lang.String` | `createWhiteSpace(int len, int tabSize, int start)` Creates a string of white space with the specified length.
    `static java.lang.String` | `formatFileSize(long length)` Formats the given file size into a nice string (123 Bytes, 10.6 kB, 1.2 MB).
    `static boolean` | `getBoolean(java.lang.Object obj, boolean def)` Returns a boolean from a given object.
    `static java.lang.String` | `getIndentString(java.lang.String str)`
    `static int` | `getLeadingWhiteSpace(java.lang.CharSequence str)` Returns the number of leading white space characters in the specified string.
    `static int` | `getLeadingWhiteSpace(java.lang.String str)` Returns the number of leading white space characters in the specified string.
    `static int` | `getLeadingWhiteSpaceWidth(java.lang.CharSequence str, int tabSize)` Returns the width of the leading white space in the specified string.
    `static int` | `getLeadingWhiteSpaceWidth(java.lang.String str, int tabSize)` Returns the width of the leading white space in the specified string.
    `static int` | `getOffsetOfVirtualColumn(javax.swing.text.Segment seg, int tabSize, int column, int[] totalVirtualWidth)` Returns the array offset of a virtual column number (taking tabs into account) in the segment.
    `static int` | `getTrailingWhiteSpace(java.lang.String str)` Returns the number of trailing whitespace characters in the specified string.
    `static int` | `getVirtualWidth(javax.swing.text.Segment seg, int tabSize)` Returns the virtual column number (taking tabs into account) of the specified offset in the segment.
    `static java.lang.String` | `globToRE(java.lang.String glob)` Converts a Unix-style glob to a regular expression.
    `static byte[]` | `md5(java.lang.CharSequence charSequence)` Returns the md5sum for given string.
    `static boolean` | `objectsEqual(java.lang.Object o1, java.lang.Object o2)` Deprecated. use {java.util.Objects#equals(Object, Object}
    `static boolean` | `regionMatches(java.lang.CharSequence seq, int toff, java.lang.CharSequence other, int ooff, int len)` Implementation of String.regionMatches() for CharSequence.
    `static boolean` | `startsWith(java.lang.CharSequence seq, java.lang.String str)` Implementation of String.startsWith() for CharSequence.
    `static java.lang.String` | `truncateWhiteSpace(int len, int tabSize, java.lang.String indentStr)`

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

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

- - ### Field Detail

    - #### KB_FORMAT

          public static final java.text.DecimalFormat KB_FORMAT

    - #### MB_FORMAT

          public static final java.text.DecimalFormat MB_FORMAT

  - ### Method Detail

    - #### charsToEscapes

          public static java.lang.String charsToEscapes(java.lang.String str)

      Escapes newlines, tabs, backslashes, and quotes in the specified string.
      Parameters:
        `str` - The string
      Since:
        jEdit 4.3pre15

    - #### charsToEscapes

          public static java.lang.String charsToEscapes(java.lang.String str,
                                        java.lang.String toEscape)

      Escapes the specified characters in the specified string.
      Parameters:
        `str` - The string
        `toEscape` - Any characters that require escaping
      Since:
        jEdit 4.3pre15

    - #### getIndentString

          public static java.lang.String getIndentString(java.lang.String str)

      Parameters:
        `str` - A java string
      Returns:
        the leading whitespace of that string, for indenting subsequent lines.
      Since:
        jEdit 4.3pre10

    - #### getLeadingWhiteSpace

          public static int getLeadingWhiteSpace(java.lang.String str)

      Returns the number of leading white space characters in the specified string.
      Parameters:
        `str` - The string

    - #### getLeadingWhiteSpace

          public static int getLeadingWhiteSpace(java.lang.CharSequence str)

      Returns the number of leading white space characters in the specified string.
      Parameters:
        `str` - The string
      Since:
        jEdit 4.3pre15

    - #### getTrailingWhiteSpace

          public static int getTrailingWhiteSpace(java.lang.String str)

      Returns the number of trailing whitespace characters in the specified string.
      Parameters:
        `str` - The string

    - #### getLeadingWhiteSpaceWidth

          public static int getLeadingWhiteSpaceWidth(java.lang.String str,
                                      int tabSize)

      Returns the width of the leading white space in the specified string.
      Parameters:
        `str` - The string
        `tabSize` - The tab size

    - #### getLeadingWhiteSpaceWidth

          public static int getLeadingWhiteSpaceWidth(java.lang.CharSequence str,
                                      int tabSize)

      Returns the width of the leading white space in the specified string.
      Parameters:
        `str` - The string
        `tabSize` - The tab size
      Since:
        jEdit 4.3pre15

    - #### createWhiteSpace

          public static java.lang.String createWhiteSpace(int len,
                                          int tabSize)

      Creates a string of white space with the specified length.

      To get a whitespace string tuned to the current buffer's settings, call this method as follows:

          myWhitespace = MiscUtilities.createWhiteSpace(myLength,
               (buffer.getBooleanProperty("noTabs") ? 0
               : buffer.getTabSize()));

      Parameters:
        `len` - The length
        `tabSize` - The tab size, or 0 if tabs are not to be used

    - #### truncateWhiteSpace

          public static java.lang.String truncateWhiteSpace(int len,
                                            int tabSize,
                                            java.lang.String indentStr)

    - #### createWhiteSpace

          public static java.lang.String createWhiteSpace(int len,
                                          int tabSize,
                                          int start)

      Creates a string of white space with the specified length.

      To get a whitespace string tuned to the current buffer's settings, call this method as follows:

          myWhitespace = MiscUtilities.createWhiteSpace(myLength,
               (buffer.getBooleanProperty("noTabs") ? 0
               : buffer.getTabSize()));

      Parameters:
        `len` - The length
        `tabSize` - The tab size, or 0 if tabs are not to be used
        `start` - The start offset, for tab alignment

    - #### getVirtualWidth

          public static int getVirtualWidth(javax.swing.text.Segment seg,
                            int tabSize)

      Returns the virtual column number (taking tabs into account) of the specified offset in the segment.
      Parameters:
        `seg` - The segment
        `tabSize` - The tab size

    - #### getOffsetOfVirtualColumn

          public static int getOffsetOfVirtualColumn(javax.swing.text.Segment seg,
                                     int tabSize,
                                     int column,
                                     int[] totalVirtualWidth)

      Returns the array offset of a virtual column number (taking tabs into account) in the segment.
      Parameters:
        `seg` - The segment
        `tabSize` - The tab size
        `column` - The virtual column number
        `totalVirtualWidth` - If this array is non-null, the total virtual width will be stored in its first location if this method returns -1.
      Returns:
        -1 if the column is out of bounds

    - #### compareStrings

          public static int compareStrings(java.lang.String str1,
                           java.lang.String str2,
                           boolean ignoreCase)

      Compares two strings.

      Unlike String.compareTo(), this method correctly recognizes and handles embedded numbers. For example, it places "My file 2" before "My file 10".

      Parameters:
        `str1` - The first string
        `str2` - The second string
        `ignoreCase` - If true, case will be ignored
      Returns:
        negative If str1 < str2, 0 if both are the same, positive if str1 > str2
      Since:
        jEdit 4.3pre5

    - #### objectsEqual

          @Deprecated
          public static boolean objectsEqual(@Nullable
                                        java.lang.Object o1,
                                        @Nullable
                                        java.lang.Object o2)

      Deprecated. use {java.util.Objects#equals(Object, Object}
      Returns if two strings are equal. This correctly handles null pointers, as opposed to calling `o1.equals(o2)`.
      Since:
        jEdit 4.3pre6

    - #### globToRE

          public static java.lang.String globToRE(java.lang.String glob)

      Converts a Unix-style glob to a regular expression.

      ? becomes ., * becomes .*, {aa,bb} becomes (aa|bb).

      Parameters:
        `glob` - The glob pattern
      Since:
        jEdit 4.3pre7

    - #### regionMatches

          public static boolean regionMatches(java.lang.CharSequence seq,
                              int toff,
                              java.lang.CharSequence other,
                              int ooff,
                              int len)

      Implementation of String.regionMatches() for CharSequence.
      Parameters:
        `seq` - The test CharSequence.
        `toff` - Offset for the test sequence.
        `other` - The sequence to compare to.
        `ooff` - Offset of the comparison sequence.
        `len` - How many characters to compare.
      Returns:
        Whether the two subsequences are equal.
      Since:
        jEdit 4.3pre15
      See Also:
        `String.regionMatches(int,String,int,int)`

    - #### startsWith

          public static boolean startsWith(java.lang.CharSequence seq,
                           java.lang.String str)

      Implementation of String.startsWith() for CharSequence.
      Parameters:
        `seq` - The CharSequence.
        `str` - String to test.
      Returns:
        Whether the sequence starts with the test string.
      Since:
        jEdit 4.3pre15

    - #### getBoolean

          public static boolean getBoolean(java.lang.Object obj,
                           boolean def)

      Returns a boolean from a given object.
      Parameters:
        `obj` - the object
        `def` - The default value
      Returns:
        the boolean value if obj is a Boolean, true if the value is "true", "yes", "on", false if the value is "false", "no", "off" def if the value is null or anything else
      Since:
        jEdit 4.3pre17

    - #### formatFileSize

          public static java.lang.String formatFileSize(long length)

      Formats the given file size into a nice string (123 Bytes, 10.6 kB, 1.2 MB).
      Parameters:
        `length` - The size
      Since:
        jEdit 4.4pre1

    - #### md5

          public static byte[] md5(java.lang.CharSequence charSequence)

      Returns the md5sum for given string. Or dummy byte array on error Suppress NoSuchAlgorithmException because MD5 algorithm always present in JRE
      Parameters:
        `charSequence` - Given string
      Returns:
        md5 sum of given string