Name
RecordComparator
Synopsis
This is an interface used when creating a RecordEnumeration
that determines the order in which records are returned. The interface
consists of the single method compare()
, which is passed
a pair of byte-array records, rec1
and
rec2
. The method returns one of the following integer
values to indicate their relative ordering:
- PRECEDES
Indicates that
rec1
should appear beforerec2
- EQUIVALENT
Indicates that
rec1
andrec2
are equivalent according to the sorting criterion applied by this comparator. Note that this does not imply that the records are equal, although equal records would result in this value being returned.- FOLLOWS
Indicates that
rec1
should appear afterrec2
A typical implementation of this method wraps each of the records with a
ByteArrayInputStream
and a DataInputStream
so that the contents of the records can be accessed as a set of fields.
To construct a filter that sorts based on the natural sorting order of the
first field in the record, which is assumed to be a String
,
the record in the byte arrays rec1
and
rec2
is converted to DataInputStream
s
like this:
DataInputStream dis1 = new DataInputStream(new ByteArrayInputStream(rec1));
DataInputStream dis2 = new DataInputStream(new ByteArrayInputStream(rec2));
At this point, the field to be compared is extracted from each record
using the DataInputStream
readUTF()
method, and the comparison is performed:
int res = dis1.readUTF().compareTo(dis2.readUTF());
The return value from the method ...
Get J2ME in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.