CollationService provides a comparator that can be used for sorting or matching string values.
In many situations, collation can be specified using the @Collation annotation rather than through a custom CollationService implementation. The annotation supports Sapphire EL.
@Unique @Collation( ignoreCaseDifferences = "true" ) ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" ); Value<String> getName(); void setName( String value );
When more control is necessary, a custom implementation of CollationService can be provided.
@Unique @Service( impl = ExampleCollationService.class ) ValueProperty PROP_NAME = new ValueProperty( TYPE, "Name" ); Value<String> getName(); void setName( String value );
public class ExampleCollationService extends CollationService
{
@Override
protected Comparator<String> compute()
{
return new Comparator()
{
public int compare( final String a, final String b )
{
...
}
};
}
}