Class PegasusExitCodeEncode
- java.lang.Object
-
- edu.isi.pegasus.planner.code.gridstart.PegasusExitCodeEncode
-
public class PegasusExitCodeEncode extends java.lang.Object
This class tries to define a mechanism to encode arguments for pegasus-exitcode, as DAGMan does not handle whitespaces correctly for postscript arguments. The default rules are single space gets encoded to + + gets escaped to \+ non printing asci characters are flagged here are some examples of this encoding ruleError Message is encoded to Error+Message Error Message is encoded to Error+++Message Error + Message is encoded to Error+\++Message Error + \Message is encoded to Error+\++\Message Error + Message\ is encoded to Error+\++Message\ Error + \\ Message is encoded to Error+\++\\+Message
- Version:
- $Revision$
- Author:
- Karan Vahi
-
-
Field Summary
Fields Modifier and Type Field Description private char
mEncode
The value to encode toprivate char
mEncodeable
Defines the character that requires encodingprivate java.lang.String
mEscapable
Defines the set of characters that require escaping.private char
mEscape
Defines the character used to escape characters.
-
Constructor Summary
Constructors Constructor Description PegasusExitCodeEncode()
Defines the default encoding rules escape + with \+ encode single whitespace with +PegasusExitCodeEncode(java.lang.String escapable, char escape)
Constructs arbitrary escaping rules.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
decode(java.lang.String s)
Transforms a given string by decoding all characters and unescaping where required.java.lang.String
encode(java.lang.String s)
Transforms a given string by encoding single whitespace with the escape character set ( defaults to + ), and escapes the escape itselfboolean
isAsciiPrintable(char ch)
Checks whether the character is ASCII 7 bit printable.static void
main(java.lang.String[] args)
Test program.void
test(java.lang.String s)
-
-
-
Field Detail
-
mEscape
private char mEscape
Defines the character used to escape characters.
-
mEscapable
private java.lang.String mEscapable
Defines the set of characters that require escaping.
-
mEncodeable
private char mEncodeable
Defines the character that requires encoding
-
mEncode
private char mEncode
The value to encode to
-
-
Constructor Detail
-
PegasusExitCodeEncode
public PegasusExitCodeEncode()
Defines the default encoding rules escape + with \+ encode single whitespace with +
-
PegasusExitCodeEncode
public PegasusExitCodeEncode(java.lang.String escapable, char escape)
Constructs arbitrary escaping rules.- Parameters:
escapable
- is the set of characters that require escapingescape
- is the escape character itself.
-
-
Method Detail
-
encode
public java.lang.String encode(java.lang.String s)
Transforms a given string by encoding single whitespace with the escape character set ( defaults to + ), and escapes the escape itselferror message is encoded to error+message error +message is encoded to error+\+message <>
- Parameters:
s
- is the string to encode.- Returns:
- the encoded string
- See Also:
#unescape( String )
-
decode
public java.lang.String decode(java.lang.String s)
Transforms a given string by decoding all characters and unescaping where required.- Parameters:
s
- is the string to remove escapes from.- Returns:
- the decoded string
-
isAsciiPrintable
public boolean isAsciiPrintable(char ch)
Checks whether the character is ASCII 7 bit printable.
CharUtils.isAsciiPrintable('a') = true CharUtils.isAsciiPrintable('A') = true CharUtils.isAsciiPrintable('3') = true CharUtils.isAsciiPrintable('-') = true CharUtils.isAsciiPrintable('\n') = false CharUtils.isAsciiPrintable('©') = false
- Parameters:
ch
- the character to check- Returns:
- true if between 32 and 126 inclusive
-
test
public void test(java.lang.String s)
-
main
public static void main(java.lang.String[] args)
Test program.- Parameters:
args
- are command-line arguments
-
-