Package org.scijava

Class Priority

    • Field Detail

      • FIRST

        public static final double FIRST
        Priority for items that must be sorted first.

        Note that it is still possible to prioritize something earlier than this value (e.g., for testing purposes), although doing so strongly discouraged in production.

        See Also:
        Constant Field Values
      • EXTREMELY_HIGH

        public static final double EXTREMELY_HIGH
        Priority for items that very strongly prefer to be sorted early.
        See Also:
        Constant Field Values
      • VERY_HIGH

        public static final double VERY_HIGH
        Priority for items that strongly prefer to be sorted early.
        See Also:
        Constant Field Values
      • HIGH

        public static final double HIGH
        Priority for items that prefer to be sorted earlier.
        See Also:
        Constant Field Values
      • LOW

        public static final double LOW
        Priority for items that prefer to be sorted later.
        See Also:
        Constant Field Values
      • VERY_LOW

        public static final double VERY_LOW
        Priority for items that strongly prefer to be sorted late.
        See Also:
        Constant Field Values
      • EXTREMELY_LOW

        public static final double EXTREMELY_LOW
        Priority for items that very strongly prefer to be sorted late.
        See Also:
        Constant Field Values
      • LAST

        public static final double LAST
        Priority for items that must be sorted last.

        Note that it is still possible to prioritize something later than this value (e.g., for testing purposes), although doing so strongly discouraged in production.

        See Also:
        Constant Field Values
    • Method Detail

      • compare

        public static int compare​(Prioritized p1,
                                  Prioritized p2)
        Compares two Prioritized objects.

        Note: this method provides a natural ordering that may be inconsistent with equals. That is, two unequal objects may often have the same priority, and thus return 0 when compared in this fashion. Hence, if this method is used as a basis for implementing Comparable.compareTo(T) or Comparator.compare(T, T), that implementation may want to impose logic beyond that of this method, for breaking ties, if a total ordering consistent with equals is always required.

        Returns:
        -1 if p1's priority is higher than p2's, 1 if p2's priority is higher than p1's, or 0 if they have the same priority.
        See Also:
        ClassUtils.compare(Class, Class)
      • inject

        public static boolean inject​(Object o,
                                     double priority)
        Injects the specified priority into the given object. Note that this is only possible if the given object implements the Prioritized interface.
        Parameters:
        o - The object to which the priority should be assigned.
        Returns:
        true If the priority was successfully injected.