# Ordered class abstract interface

A contract for objects that are assigned an order or precedence value.

This is typically used for sorting or prioritization where lower values have higher priority (i.e., `0` is higher than `10`).

Framework components such as filters, interceptors, and plugins can implement Ordered to control execution sequence.

### 🧭 Ordering Rules

- Lower values indicate higher priority
- Constants are provided for extreme values:
  - Ordered.HIGHEST_PRECEDENCE = `-2^31` (highest possible priority)
  - Ordered.LOWEST_PRECEDENCE = `2^31 - 1` (lowest possible priority)

### 📌 Example

    class MyFilter implements Ordered {
      @override
      int get order => 10;
    }

    final filters = [MyFilter(), AnotherFilter()];
    filters.sort((a, b) => a.order.compareTo(b.order));

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

getOrder() → int
  A contract for objects that are assigned an order or precedence value.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited

## Constants

HIGHEST_PRECEDENCE → const int
  The highest possible precedence value.
LOWEST_PRECEDENCE → const int
  The lowest possible precedence value.