|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.das2.util.TimeParser
public class TimeParser
TimeParser designed to quickly parse strings with a specified format. This parser has been shown to perform around 20 times faster than that the generalized parser.
Nested Class Summary | |
---|---|
static interface |
TimeParser.FieldHandler
|
Field Summary | |
---|---|
static java.lang.String |
TIMEFORMAT_Z
%Y-%m-%dT%H:%M:%S.%{milli}Z |
Method Summary | |
---|---|
static TimeParser |
create(java.lang.String formatString)
%[fieldLength]<1-char code> or %[fieldLength]{ }
fieldLength=0 --> makes field length indeterminate, deliminator must follow. |
static TimeParser |
create(java.lang.String formatString,
java.lang.String fieldName,
TimeParser.FieldHandler handler)
This version allows for extension by specifying an external handler. |
java.lang.String |
format(Datum start,
Datum end)
format the range into a string. |
double |
getEndTime(Units units)
|
java.lang.String |
getRegex()
|
double |
getTime(Units units)
|
Datum |
getTimeDatum()
|
DatumRange |
getTimeRange()
Returns the implicit interval as a DatumRange. |
static java.lang.String |
iso8601String(java.lang.String exampleTime)
must contain T or space to delimit date and time. |
TimeParser |
parse(java.lang.String timeString)
|
void |
resetSeconds()
reset the seconds register. |
TimeParser |
setDigit(int digitNumber,
int digit)
This allows for string split into elements to be interpretted here. |
void |
setDigit(java.lang.String format,
double value)
set the digit with the integer part, and move the fractional part to the less significant digits. |
TimeParser |
setDigit(java.lang.String format,
int value)
Set the digit using the format code. |
void |
sloppyColumns()
force the parser to look for delimiters |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String TIMEFORMAT_Z
Method Detail |
---|
public static java.lang.String iso8601String(java.lang.String exampleTime)
exampleTime
- "1992-353T02:00"
public static TimeParser create(java.lang.String formatString)
%[fieldLength]<1-char code> or
%[fieldLength]{}
fieldLength=0 --> makes field length indeterminate, deliminator must follow.
%Y 4-digit year
%y 2-digit year
%j 3-digit day of year
%m 2-digit month
%b 3-char month name
%d 2-digit day
%H 2-digit hour
%M 2-digit minute
%S 2-digit second
%{milli} 3-digit milliseconds
public static TimeParser create(java.lang.String formatString, java.lang.String fieldName, TimeParser.FieldHandler handler)
public void resetSeconds()
public void sloppyColumns()
public TimeParser parse(java.lang.String timeString) throws java.text.ParseException
java.text.ParseException
public void setDigit(java.lang.String format, double value)
format
- value
- public TimeParser setDigit(java.lang.String format, int value)
format
- spec like "%Y%m%d"value
- integer like 20080830.
public TimeParser setDigit(int digitNumber, int digit)
digitNumber,
- the digit to set (starting with 0).
java.lang.IllegalArgumentException
- if the digit has a custom field handler
java.lang.IllegalArgumentException
- if the digit does not exist.public double getTime(Units units)
public Datum getTimeDatum()
public DatumRange getTimeRange()
public double getEndTime(Units units)
public java.lang.String getRegex()
public java.lang.String format(Datum start, Datum end)
start
- end
- currently ignored, and may be used in the future
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |