StandardUtilities (jEdit API Documentation)
Date: 2015-10-20

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

    All Methods Static Methods Concrete Methods Deprecated 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 (maybe null)
        `str2` - The second string (maybe null)
        `ignoreCase` - If true, case will be ignored
      Returns:
        negative If str1 < str2, 0 if both are the same, positive if str1 > str2 (null < any non-null string, null = null)
      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