Apache JMeter

org.apache.jorphan.util
Class JOrphanUtils

java.lang.Object
  extended by org.apache.jorphan.util.JOrphanUtils

public final class JOrphanUtils
extends Object

This class contains frequently-used static utility methods.


Method Summary
static byte[] baToHexBytes(byte[] ba)
          Convert binary byte array to hex string.
static String baToHexString(byte[] ba)
          Convert binary byte array to hex string.
static String baToHexString(byte[] ba, char separator)
          Convert binary byte array to hex string.
static String booleanToSTRING(boolean value)
          Convert a boolean to its upper case string representation.
static void closeQuietly(Closeable cl)
          Close a Closeable with no error thrown
static void closeQuietly(ServerSocket sock)
          close a Socket with no error thrown
static void closeQuietly(Socket sock)
          close a Socket with no error thrown
static void displayThreads(boolean includeDaemons)
          Display currently running threads on system.out This may be expensive to run.
static byte[] getByteArraySlice(byte[] array, int begin, int end)
          Returns a slice of a byte array.
static boolean isBlank(String value)
          Check that value is empty (""), null or whitespace only.
static boolean isXML(byte[] target)
          Detects if some content starts with the standard XML prefix.
static StringBuilder leftAlign(StringBuilder in, int len)
          Left aligns some text in a StringBuilder N.B. modifies the input buffer
static String nullifyIfEmptyTrimmed(String input)
          Returns null if input is empty, null or contains spaces
static int read(InputStream is, byte[] buffer, int offset, int length)
          Read as much as possible into buffer.
static String replaceAllChars(String source, char search, String replace)
          Version of String.replaceAll() for JDK1.3 See below for another version which replaces strings rather than chars
static String replaceFirst(String source, String search, String replace)
          Simple-minded String.replace() for JDK1.3 Should probably be recoded...
static StringBuilder rightAlign(StringBuilder in, int len)
          Right aligns some text in a StringBuilder N.B. modifies the input buffer
static String[] split(String splittee, String splitChar)
           
static String[] split(String splittee, String splitChar, boolean truncate)
          This is _almost_ equivalent to the String.split method in JDK 1.4.
static String[] split(String splittee, String delims, String def)
          Takes a String and a tokenizer character string, and returns a new array of strings of the string split by the tokenizer character(s).
static boolean startsWith(byte[] target, byte[] search, int offset)
          Check if a byte array starts with the given byte array.
static String substitute(String input, String pattern, String sub)
          Replace all patterns in a String
static String trim(String input, String delims)
          Trim a string by the tokens provided.
static void write(byte[] data, OutputStream output)
          Write data to an output stream in chunks with a maximum size of 4K.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

split

public static String[] split(String splittee,
                             String splitChar,
                             boolean truncate)
This is _almost_ equivalent to the String.split method in JDK 1.4. It is here to enable us to support earlier JDKs. Note that unlike JDK1.4 split(), it optionally ignores leading split Characters, and the splitChar parameter is not a Regular expression

This piece of code used to be part of JMeterUtils, but was moved here because some JOrphan classes use it too.

Parameters:
splittee - String to be split
splitChar - Character(s) to split the string on, these are treated as a single unit
truncate - Should adjacent and leading/trailing splitChars be removed?
Returns:
Array of all the tokens; empty if the input string is null or the splitChar is null
See Also:
split(String, String, String)

split

public static String[] split(String splittee,
                             String splitChar)

split

public static String[] split(String splittee,
                             String delims,
                             String def)
Takes a String and a tokenizer character string, and returns a new array of strings of the string split by the tokenizer character(s). Trailing delimiters are significant (unless the default = null)

Parameters:
splittee - String to be split.
delims - Delimiter character(s) to split the string on
def - Default value to place between two split chars that have nothing between them. If null, then ignore omitted elements.
Returns:
Array of all the tokens.
Throws:
NullPointerException - if splittee or delims are null
See Also:
split(String, String, boolean), This is a rewritten version of JMeterUtils.split()

rightAlign

public static StringBuilder rightAlign(StringBuilder in,
                                       int len)
Right aligns some text in a StringBuilder N.B. modifies the input buffer

Parameters:
in - StringBuilder containing some text
len - output length desired
Returns:
input StringBuilder, with leading spaces

leftAlign

public static StringBuilder leftAlign(StringBuilder in,
                                      int len)
Left aligns some text in a StringBuilder N.B. modifies the input buffer

Parameters:
in - StringBuilder containing some text
len - output length desired
Returns:
input StringBuilder, with trailing spaces

booleanToSTRING

public static String booleanToSTRING(boolean value)
Convert a boolean to its upper case string representation. Equivalent to Boolean.valueOf(boolean).toString().toUpperCase().

Parameters:
value - boolean to convert
Returns:
"TRUE" or "FALSE"

replaceFirst

public static String replaceFirst(String source,
                                  String search,
                                  String replace)
Simple-minded String.replace() for JDK1.3 Should probably be recoded...

Parameters:
source - input string
search - string to look for (no regular expressions)
replace - string to replace the search string
Returns:
the output string

replaceAllChars

public static String replaceAllChars(String source,
                                     char search,
                                     String replace)
Version of String.replaceAll() for JDK1.3 See below for another version which replaces strings rather than chars

Parameters:
source - input string
search - char to look for (no regular expressions)
replace - string to replace the search string
Returns:
the output string

substitute

public static String substitute(String input,
                                String pattern,
                                String sub)
Replace all patterns in a String

Parameters:
input - - string to be transformed
pattern - - pattern to replace
sub - - replacement
Returns:
the updated string
See Also:
- JDK1.4 only

trim

public static String trim(String input,
                          String delims)
Trim a string by the tokens provided.

Parameters:
input - string to trim
delims - list of delimiters
Returns:
input trimmed at the first delimiter

getByteArraySlice

public static byte[] getByteArraySlice(byte[] array,
                                       int begin,
                                       int end)
Returns a slice of a byte array. TODO - add bounds checking?

Parameters:
array - - input array
begin - - start of slice
end - - end of slice
Returns:
slice from the input array

closeQuietly

public static void closeQuietly(Closeable cl)
Close a Closeable with no error thrown

Parameters:
cl - - Closeable (may be null)

closeQuietly

public static void closeQuietly(Socket sock)
close a Socket with no error thrown

Parameters:
sock - - Socket (may be null)

closeQuietly

public static void closeQuietly(ServerSocket sock)
close a Socket with no error thrown

Parameters:
sock - - ServerSocket (may be null)

startsWith

public static boolean startsWith(byte[] target,
                                 byte[] search,
                                 int offset)
Check if a byte array starts with the given byte array.

Parameters:
target - array to scan
search - array to search for
offset - starting offset (>=0)
Returns:
true if the search array matches the target at the current offset
See Also:
String.startsWith(String, int)

isXML

public static boolean isXML(byte[] target)
Detects if some content starts with the standard XML prefix.

Parameters:
target - the content to check
Returns:
true if the document starts with the standard XML prefix.

baToHexString

public static String baToHexString(byte[] ba)
Convert binary byte array to hex string.

Parameters:
ba - input binary byte array
Returns:
hex representation of binary input

baToHexString

public static String baToHexString(byte[] ba,
                                   char separator)
Convert binary byte array to hex string.

Parameters:
ba - input binary byte array
separator - the separator to be added between pairs of hex digits
Returns:
hex representation of binary input

baToHexBytes

public static byte[] baToHexBytes(byte[] ba)
Convert binary byte array to hex string.

Parameters:
ba - input binary byte array
Returns:
hex representation of binary input

read

public static int read(InputStream is,
                       byte[] buffer,
                       int offset,
                       int length)
                throws IOException
Read as much as possible into buffer.

Parameters:
is - the stream to read from
buffer - output buffer
offset - offset into buffer
length - number of bytes to read
Returns:
the number of bytes actually read
Throws:
IOException

displayThreads

public static void displayThreads(boolean includeDaemons)
Display currently running threads on system.out This may be expensive to run. Mainly designed for use at the end of a non-GUI test to check for threads that might prevent the JVM from exitting.

Parameters:
includeDaemons - whether to include daemon threads or not.

nullifyIfEmptyTrimmed

public static String nullifyIfEmptyTrimmed(String input)
Returns null if input is empty, null or contains spaces

Parameters:
input - String
Returns:
String

isBlank

public static boolean isBlank(String value)
Check that value is empty (""), null or whitespace only.

Parameters:
value - Value
Returns:
true if the String is not empty (""), not null and not whitespace only.

write

public static void write(byte[] data,
                         OutputStream output)
                  throws IOException
Write data to an output stream in chunks with a maximum size of 4K. This is to avoid OutOfMemory issues if the data buffer is very large and the JVM needs to copy the buffer for use by native code.

Parameters:
data - the buffer to be written
output - the output stream to use
Throws:
IOException - if there is a problem writing the data

Apache JMeter

Copyright © 1998-2013 Apache Software Foundation. All Rights Reserved.