You can create custom date, int, and float parsers and plug them into the system.
All parsers implement this common base interface:
com.isdduk.text.Parser getId() : short setId(short) : void getName() : java.lang.String setName(java.lang.String) : void init(com.isdduk.util.map.FastMap): void
This interface defines methods that facilitate tracking and displaying information about parser instances loaded in Sybase Search, mainly simple GET and SET methods. There is also an initialization method which takes a map of parameters should the parser require any—this method is guaranteed to be called before parsing commences. You can extend the convenience base class com.isdduk.text.AbstractParser.
Irrespective of whether the convenience base class is utilized, each custom parser class must provide a no arguments constructor and implement the appropriate one of these three specialized parser interfaces:
com.isdduk.text.DateParser parse(java.lang.String, com.isdduk.util.set.LongSet) : boolean parse(java.lang.String) : com.isdduk.util.set.LongSet format(long) : java.lang.String
com.isdduk.text.IntParser parse(java.lang.String, com.isdduk.util.set.IntSet) : boolean parse(java.lang.String) : com.isdduk.util.set.IntSet format(int) : java.lang.String
com.isdduk.text.FloatParser parse(java.lang.String, com.isdduk.util.set.FloatSet) : boolean parse(java.lang.String) : com.isdduk.util.set.FloatSet format(float) : java.lang.String
The parse method, which returns a Boolean result, should contain the parsing logic; the other parse method should simply create a suitable set object and delegate the call, as it is a convenience method for when there is no suitable set object in its scope. The format method should reverse the parse process and return the date, int, or float value as a string (although this is not always possible).
The date parser turns date strings into long values—the
number of milliseconds that have passed since the 1st of January
1970 in Coordinated Universal Time (UTC).