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
`static class` `StandardUtilities.StringCompare<E>` Compares objects as strings.

### Field Summary

Fields
`static java.text.DecimalFormat` `KB_FORMAT`
`static java.text.DecimalFormat` `MB_FORMAT`

### Method Summary

Methods
`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)` Returns if two strings are equal.
`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 <function>String.compareTo()</function>, 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

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

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