Class MOScopeComparator

java.lang.Object
org.snmp4j.agent.MOScopeComparator
All Implemented Interfaces:
Comparator<MOScope>
Direct Known Subclasses:
MOScopePriorityComparator

public class MOScopeComparator extends Object implements Comparator<MOScope>
The MOScopeComparator compares two scopes with each other.

Two scopes are compared by their context (if both are MOContextScope instances) first and then by their lower bound.

A scope is compared with a query by comparing the scope with the queries scope and then if both are deemed to be equal, the upper bound of the scope is checked. If it is unbounded (upper bound is null, then the scoped is deemed to be greater than the query. Otherwise, the upper bound of the scope is compared with the lower bound of the query. Scope and query are deemed to be equal if both bounds are equal and both are included. Otherwise, the scope is deemed to be less than the query.

Version:
1.0
Author:
Frank Fock
  • Constructor Details

    • MOScopeComparator

      public MOScopeComparator()
  • Method Details

    • compare

      public int compare(MOScope o1, MOScope o2)
      Compares a scope with another scope or query. See also the class description how comparison is done.
      Specified by:
      compare in interface Comparator<MOScope>
      Parameters:
      o1 - a MOScope instance.
      o2 - a MOScope instance.
      Returns:
      an integer less than zero if o1 is less than o2 and zero if both values are deemed to be equal and a value greater than zero if o1 is greater than o2.
    • isQueryContextMatching

      public static boolean isQueryContextMatching(MOQuery a, MOScope b)
      Indicates whether the given query's context matches the context of the given scope.
      Parameters:
      a - a MOQuery instance.
      b - another MOScope instance.
      Returns:
      true if the query's context is null or if both contexts match or if the context of scope is the empty string.
      Since:
      2.0.2
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface Comparator<MOScope>
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object