/** Generate a sort string for the given DC metadata */ public static String makeSortString(String value, String language, String type) { OrderFormatDelegate delegate = null; // If there is no value, return null if (value == null) return null; // If a named index has been supplied if (type != null && type.length() > 0) { // Use a delegate if one is configured if ((delegate = OrderFormat.getDelegate(type)) != null) { return delegate.makeSortString(value, language); } // No delegates found, so apply defaults if (type.equalsIgnoreCase(OrderFormat.AUTHOR) && authorDelegate != null) { return authorDelegate.makeSortString(value, language); } if (type.equalsIgnoreCase(OrderFormat.TITLE) && titleDelegate != null) { return titleDelegate.makeSortString(value, language); } if (type.equalsIgnoreCase(OrderFormat.TEXT) && textDelegate != null) { return textDelegate.makeSortString(value, language); } } return value; }