Sorting Objects
The objects in object collection views are sorted in case-insensitive nonlocale lexicographical order using Unicode with the object name/id.
The following logic is used for comparing two strings. It is specified by String.compareToIgnoreCase in Java:
- Two strings are compared lexicographically, ignoring case and locale. The system achieves this operation by converting each string to uppercase and then lowercase before performing the lexicographical string comparison.
- This method returns an integer whose sign is that of the following:
this.toUpperCase().toLowerCase().compareTo(str.toUpperCase().
toLowerCase())
NOTE: This sorting logic does not take locale into account and results in an unsatisfactory ordering for certain locales (for example, Turkey).
- The sort is applied to every level in a hierarchy for objects in that level when object collection is part of the hierarchy. For example, the policy group folder can contain several policy list objects. The objects are sorted alphabetically using the policy list name for comparison.
- The object type or other attributes can take higher precedence over the name sort. For example, the precedence can be (in order of highest to lowest) direction, condition, actions, sorted name. This order sorts the group by functionality. It is used in the multicolumn sort operations. Within each group the objects are sorted. In addition, logical ordering can exist, which takes precedence over alphabetic ordering.