パッケージ org.springframework.core

クラス OrderComparator

java.lang.ObjectSE
org.springframework.core.OrderComparator
実装されたすべてのインターフェース:
ComparatorSE<ObjectSE>
既知の直属サブクラス
AnnotationAwareOrderComparator

public class OrderComparator extends ObjectSE implements ComparatorSE<ObjectSE>
Ordered オブジェクトの ComparatorSE 実装。優先順位の降順で昇順で、それぞれ昇順でソートします。

PriorityOrdered オブジェクト

PriorityOrdered オブジェクトは、プレーンな  Ordered オブジェクトよりも高い優先順位でソートされます。

同じオーダーのオブジェクト

同じ順序値を持つオブジェクトは、同じ順序値を持つ他のオブジェクトに対して任意の順序で並べ替えられます。

順序付けされていないオブジェクト

独自の順序値を提供しないオブジェクトには、暗黙的に Ordered.LOWEST_PRECEDENCE の値が割り当てられるため、同じ順序値を持つ他のオブジェクトに対して、任意の順序でソートされたコレクションの最後に到達します。

導入:
07.04.2003
作成者:
Juergen Hoeller, Sam Brannen
関連事項:
  • フィールドの詳細

    • INSTANCE

      public static final OrderComparator INSTANCE
      OrderComparator の共有デフォルトインスタンス。
  • コンストラクターの詳細

    • OrderComparator

      public OrderComparator()
  • メソッドの詳細

    • withSourceProvider

      public ComparatorSE<ObjectSE> withSourceProvider(OrderComparator.OrderSourceProvider sourceProvider)
      指定されたソースプロバイダーを使用して、適合したオーダーコンパレーターを構築します。
      パラメーター:
      sourceProvider - 使用するオーダー元プロバイダー
      戻り値:
      適応コンパレータ
      導入:
      4.1
    • compare

      public int compare(@Nullable ObjectSE o1, @Nullable ObjectSE o2)
      次で指定:
      インターフェース ComparatorSE<ObjectSE>compareSE 
    • getOrder

      protected int getOrder(@Nullable ObjectSE obj)
      指定されたオブジェクトのオーダー値を決定します。

      デフォルトの実装では、findOrder(java.lang.Object) への委譲を通じて Ordered インターフェースをチェックします。サブクラスでオーバーライドできます。

      パラメーター:
      obj - チェックするオブジェクト
      戻り値:
      オーダー値、またはフォールバックとしての Ordered.LOWEST_PRECEDENCE 
    • findOrder

      @Nullable protected IntegerSE findOrder(ObjectSE obj)
      指定されたオブジェクトが示すオーダー値を検索します。

      デフォルトの実装では、Ordered インターフェースをチェックします。サブクラスでオーバーライドできます。

      パラメーター:
      obj - チェックするオブジェクト
      戻り値:
      オーダー値。見つからない場合は null 
    • getPriority

      @Nullable public IntegerSE getPriority(ObjectSE obj)
      存在する場合、指定されたオブジェクトの優先度の値を決定します。

      デフォルトの実装は常に null を返します。サブクラスはこれをオーバーライドして、特定の種類の値に、「順序」の意味に加えて「優先」特性を与えることができます。優先度は、リスト / 配列での順序付けの目的に役立つことに加えて、あるオブジェクトを別のオブジェクトから選択するために使用できることを示します。

      パラメーター:
      obj - チェックするオブジェクト
      戻り値:
      優先度の値。ない場合は null 
      導入:
      4.1
    • sort

      public static void sort(ListSE<?> list)
      指定されたリストをデフォルトの OrderComparator でソートします。

      サイズ 0 または 1 のリストのソートをスキップするように最適化され、不要な配列抽出が回避されました。

      パラメーター:
      list - ソートするリスト
      関連事項:
    • sort

      public static void sort(ObjectSE[] array)
      指定された配列をデフォルトの OrderComparator でソートします。

      サイズ 0 または 1 のリストのソートをスキップするように最適化され、不要な配列抽出が回避されました。

      パラメーター:
      array - ソートする配列
      関連事項:
    • sortIfNecessary

      public static void sortIfNecessary(ObjectSE value)
      必要に応じて、指定された配列またはリストをデフォルトの OrderComparator でソートします。他の値が指定された場合、単にソートをスキップします。

      サイズ 0 または 1 のリストのソートをスキップするように最適化され、不要な配列抽出が回避されました。

      パラメーター:
      value - ソートする配列またはリスト
      関連事項: