| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| latest | 2013-12-30 | ||
| README.txt | 2014-03-02 | 4.6 kB | |
| row-comparator-1.1.jar | 2014-03-02 | 16.8 kB | |
| ExternalSort.zip | 2014-01-05 | 8.0 MB | |
| Totals: 4 Items | 8.0 MB | 0 |
===========================================================================
README
===========================================================================
This small library may be used to sort rows of delimited Strings.
It was created to add multi-column sort capabilities for external sorting
routines, specifically the ones found here:
https://code.google.com/p/externalsortinginjava/
The Comparator described in my library is of type Comparator<String> to
remain compatible with the google external sorting project.
===========================================================================
DEPENDENCIES:
- schema.xsd this schema, situated in package
com.foundations.comparator.structure,
is used to validate the XML files that
are provided by client programs
- externalsortinginjava-0.1.8.jar if you want to use my comparator
with external sorting, this jar
provides such functionality
===========================================================================
XML FILE
Before sorting delimited String records, the following information is
required:
(1) The String sequence representing the delimiter.
Use 	 for TAB. See XML example below.
(2) The datatype of each individual column within the record.
Boolean, String, Integer, Decimal and DateTime are supported.
Datatype is required, even when the column is not to be
sorted.
(3) The names of each column.
(4) The sort order values for the columns. This is similar to the
ORDER BY clause in SQL. Omit this tag from columns that are not
to be sorted. Must be an integer value greater than zero.
Internally, omitted tags are assigned a value of zero.
(5) The sort attributes to apply to each sortable column. Only
applies when a SortOrder number is specified, otherwise these
attributes are ignored. The majority of tags are applicable
to all column datatypes. Base attributes are defined in
schema.xsd as so:
- ascending boolean optional default true
- nullLowSortOrder boolean optional default true
- trim boolean optional default false
In addition to these base types, the following type-specific
attributes are also supported:
String
- caseSensitive boolean optional default true
- stripAccents boolean optional default false
Decimal
- scale positiveInteger optional default 2
- roundingMode RoundingMode optional default HALF_EVEN
DateTime
- pattern string optional default "yyyy-MM-dd HH:mm:ss"
NOTE: Integer & Boolean only uses base attributes
Below is an XML example of a tab delimited record structure with
four columns. Only two of the four fields in this example can be
sorted; the others still require the minimal name tag and datatype
attribute to be provided, however.
<?xml version="1.0" encoding="ISO-8859-1"?>
<row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<delimiter>	</delimiter>
<column xsi:type="Decimal">
<name>Column One</name>
</column>
<column xsi:type="Integer">
<name>Column Two</name>
</column>
<column xsi:type="String">
<name>Column Three</name>
<sortOrder>2</sortOrder>
<trim>true</trim>
<caseSensitive>false</caseSensitive>
<stripAccents>false</stripAccents>
</column>
<column xsi:type="DateTime">
<name>Column Four</name>
<sortOrder>1</sortOrder>
<ascending>true</ascending>
<nullLowSortOrder>true</nullLowSortOrder>
<trim>true</trim>
<pattern>yyyy-MM-dd</pattern>
</column>
</row>
===========================================================================
USAGE: A small test program is provided with the project (see source code).
Download the full project ExternalSorting.zip to see how this
Comparator is used for external sorting. The following jar is
required:
- externalsortinginjava-0.1.8.jar
This jar is included in the lib folder (see source code section).
For the latest version, go to:
https://code.google.com/p/externalsortinginjava/
===========================================================================