org.jmol.util
Class Parser
java.lang.Object
org.jmol.util.Parser
public class Parser
- extends java.lang.Object
Method Summary |
private static boolean |
checkTrailingText(java.lang.String str,
int ich,
int ichMax)
|
static java.lang.String |
concatTokens(java.lang.String[] tokens,
int iFirst,
int iEnd)
|
static int |
countTokens(java.lang.String line,
int ich)
|
static float[] |
extractData(java.lang.String data,
int field,
int nBytes,
int firstLine)
|
static java.lang.String |
getNextQuotedString(java.lang.String line,
int ipt0)
|
static java.lang.String[] |
getTokens(java.lang.String line)
|
static java.lang.String[] |
getTokens(java.lang.String line,
int ich)
|
static boolean |
isOneOf(java.lang.String key,
java.lang.String semiList)
|
private static boolean |
isWhiteSpace(java.lang.String str,
int ich)
|
static int[] |
markLines(java.lang.String data,
char eol)
|
static float |
parseFloat(java.lang.String str)
|
static float |
parseFloat(java.lang.String str,
int[] next)
|
static float |
parseFloat(java.lang.String str,
int ichMax,
int[] next)
|
static void |
parseFloatArray(java.lang.String[] tokens,
java.util.BitSet bs,
float[] data)
|
static void |
parseFloatArray(java.lang.String[] tokens,
float[] data)
parses a string array for floats. |
static void |
parseFloatArray(java.lang.String[] tokens,
float[] data,
int nData)
parses a string array for floats. |
static void |
parseFloatArray(java.lang.String str,
java.util.BitSet bs,
float[] data)
parses a "dirty" string for floats. |
static float[][] |
parseFloatArray2d(java.lang.String str)
|
static float[] |
parseFloatArrayFromMatchAndField(java.lang.String str,
java.util.BitSet bs,
int fieldMatch,
int fieldMatchColumnCount,
int[] matchData,
int field,
int fieldColumnCount,
float[] data,
int firstLine)
the major lifter here. |
private static float |
parseFloatChecked(java.lang.String str,
int ichMax,
int[] next,
boolean isStrict)
|
static float |
parseFloatStrict(java.lang.String str)
|
static int |
parseInt(java.lang.String str)
|
static int |
parseInt(java.lang.String str,
int[] next)
|
static int |
parseInt(java.lang.String str,
int ichMax,
int[] next)
|
private static int |
parseIntChecked(java.lang.String str,
int ichMax,
int[] next)
|
static java.lang.String |
parseToken(java.lang.String str)
|
static java.lang.String |
parseToken(java.lang.String str,
int[] next)
|
static java.lang.String |
parseToken(java.lang.String str,
int ichMax,
int[] next)
|
private static java.lang.String |
parseTokenChecked(java.lang.String str,
int ichMax,
int[] next)
|
static java.lang.String |
parseTrimmed(java.lang.String str)
|
static java.lang.String |
parseTrimmed(java.lang.String str,
int ichStart)
|
static java.lang.String |
parseTrimmed(java.lang.String str,
int ichStart,
int ichMax)
|
private static java.lang.String |
parseTrimmedChecked(java.lang.String str,
int ich,
int ichMax)
|
static void |
setSelectedFloats(float f,
java.util.BitSet bs,
float[] data)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
decimalScale
private static final float[] decimalScale
tensScale
private static final float[] tensScale
Parser
public Parser()
parseFloatArray
public static void parseFloatArray(java.lang.String str,
java.util.BitSet bs,
float[] data)
- parses a "dirty" string for floats. If there are non-float tokens,
they are ignored. A bitset is used to assign values only to specific
atoms in the set, not changing the values of the data array for other atoms.
thus, a data set can be incrementally added to in this way.
- Parameters:
str
- the string to parsebs
- the atom positions to assigndata
- the (sparce) array to fill
parseFloatArray
public static void parseFloatArray(java.lang.String[] tokens,
java.util.BitSet bs,
float[] data)
parseFloatArray2d
public static float[][] parseFloatArray2d(java.lang.String str)
setSelectedFloats
public static void setSelectedFloats(float f,
java.util.BitSet bs,
float[] data)
- Parameters:
f
- bs
- data
-
extractData
public static float[] extractData(java.lang.String data,
int field,
int nBytes,
int firstLine)
parseFloatArrayFromMatchAndField
public static float[] parseFloatArrayFromMatchAndField(java.lang.String str,
java.util.BitSet bs,
int fieldMatch,
int fieldMatchColumnCount,
int[] matchData,
int field,
int fieldColumnCount,
float[] data,
int firstLine)
- the major lifter here.
- Parameters:
str
- string containing the databs
- selects specific rows of the datafieldMatch
- a free-format field pointer, or a column pointerfieldMatchColumnCount
- specifies a column count -- not free-formatmatchData
- an array of data to match (atom numbers)field
- a free-format field pointer, or a column pointerfieldColumnCount
- specifies a column count -- not free-formatdata
- float array to modify or null if size unknownfirstLine
- first line to parse (1 indicates all)
- Returns:
- data
parseFloatArray
public static void parseFloatArray(java.lang.String[] tokens,
float[] data)
- parses a string array for floats. Returns NaN for nonfloats.
- Parameters:
tokens
- the strings to parsedata
- the array to fill
parseFloatArray
public static void parseFloatArray(java.lang.String[] tokens,
float[] data,
int nData)
- parses a string array for floats. Returns NaN for nonfloats or missing data.
- Parameters:
tokens
- the strings to parsedata
- the array to fillnData
- the number of elements
parseFloat
public static float parseFloat(java.lang.String str)
parseFloatStrict
public static float parseFloatStrict(java.lang.String str)
parseInt
public static int parseInt(java.lang.String str)
getTokens
public static java.lang.String[] getTokens(java.lang.String line)
parseToken
public static java.lang.String parseToken(java.lang.String str)
parseTrimmed
public static java.lang.String parseTrimmed(java.lang.String str)
parseTrimmed
public static java.lang.String parseTrimmed(java.lang.String str,
int ichStart)
parseTrimmed
public static java.lang.String parseTrimmed(java.lang.String str,
int ichStart,
int ichMax)
markLines
public static int[] markLines(java.lang.String data,
char eol)
parseFloat
public static float parseFloat(java.lang.String str,
int[] next)
parseFloat
public static float parseFloat(java.lang.String str,
int ichMax,
int[] next)
parseFloatChecked
private static float parseFloatChecked(java.lang.String str,
int ichMax,
int[] next,
boolean isStrict)
checkTrailingText
private static boolean checkTrailingText(java.lang.String str,
int ich,
int ichMax)
parseInt
public static int parseInt(java.lang.String str,
int[] next)
parseInt
public static int parseInt(java.lang.String str,
int ichMax,
int[] next)
parseIntChecked
private static int parseIntChecked(java.lang.String str,
int ichMax,
int[] next)
getTokens
public static java.lang.String[] getTokens(java.lang.String line,
int ich)
countTokens
public static int countTokens(java.lang.String line,
int ich)
parseToken
public static java.lang.String parseToken(java.lang.String str,
int[] next)
parseToken
public static java.lang.String parseToken(java.lang.String str,
int ichMax,
int[] next)
parseTokenChecked
private static java.lang.String parseTokenChecked(java.lang.String str,
int ichMax,
int[] next)
parseTrimmedChecked
private static java.lang.String parseTrimmedChecked(java.lang.String str,
int ich,
int ichMax)
concatTokens
public static java.lang.String concatTokens(java.lang.String[] tokens,
int iFirst,
int iEnd)
getNextQuotedString
public static java.lang.String getNextQuotedString(java.lang.String line,
int ipt0)
isWhiteSpace
private static boolean isWhiteSpace(java.lang.String str,
int ich)
isOneOf
public static boolean isOneOf(java.lang.String key,
java.lang.String semiList)