org.gjt.sp.util
Class StandardUtilities

java.lang.Object
  extended by 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
static class StandardUtilities.StringCompare<E>
          Compares objects as strings.
 
Method Summary
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 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 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
 

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

public static boolean objectsEqual(java.lang.Object o1,
                                   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