/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.sort;
/**
* Standard date ordering delegate implementation. The only "special" need is
* for treat with date with only "small" year < 4 digit
*
* @author Andrea Bollini
*/
public class OrderFormatDate implements OrderFormatDelegate
{
public String makeSortString(String value, String language)
{
int padding = 0;
int endYearIdx = value.indexOf('-');
if (endYearIdx >= 0 && endYearIdx < 4)
{
padding = 4 - endYearIdx;
}
else if (value.length() < 4)
{
padding = 4 - value.length();
}
if (padding > 0)
{
// padding the value from left with 0 so that 87 -> 0087, 687-11-24
// -> 0687-11-24
return String.format("%1$0" + padding + "d", 0)
+ value;
}
else
{
return value;
}
}
}