Class StandardUtilities


  • public class StandardUtilities
    extends java.lang.Object
    Several tools that depends on JDK only.
    Since:
    4.3pre5
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String[] EMPTY_STRING_ARRAY  
      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 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

      • EMPTY_STRING_ARRAY

        public static final java.lang.String[] EMPTY_STRING_ARRAY
      • 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