Top Description Fields Constructors Methods
org.javamoney.moneta.spi

public Class PriorityServiceComparator

extends Object
implements Comparator<Object>, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, java.util.Comparator
Imports
jakarta.annotation.Priority, java.io.Serializable, java.util.Comparator

Comparator implementation for ordering services loaded based on their increasing priority values.

Field Summary

Modifier and TypeField and Description
private static final PriorityServiceComparator
private static final long

Constructor Summary

AccessConstructor and Description
private
PriorityServiceComparator()

Singleton constructor.

Method Summary

Modifier and TypeMethod and Description
public int
compare(Object o1, Object o2)

Implements java.util.Comparator.compare.

Compares its two arguments for order.

public static PriorityServiceComparator

Returns:

the shared instance, never null.
getInstance
()

Get the shared instance of the comparator.

public static int

Returns:

a priority, by default 1.
getPriority
(Object
the instance, not null.
o
)

Checks the given instance for a @Priority annotation.

public static int

Returns:

a priority, by default 1.
getPriority
(Class<T>
the type, not null.
type
)

Checks the given type optionally annotated with a @Priority.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

INSTANCEback to summary
private static final PriorityServiceComparator INSTANCE
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

PriorityServiceComparatorback to summary
private PriorityServiceComparator()

Singleton constructor.

Method Detail

compareback to summary
public int compare(Object o1, Object o2)

Implements java.util.Comparator.compare.

Doc from java.util.Comparator.compare.

Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that signum(compare(x, y)) == -signum(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementor must ensure that compare(x, y)==0 implies that signum(compare(x, z))==signum(compare(y, z)) for all z.

Annotations
@Override
getInstanceback to summary
public static PriorityServiceComparator getInstance()

Get the shared instance of the comparator.

Returns:PriorityServiceComparator

the shared instance, never null.

getPriorityback to summary
public static int getPriority(Object o)

Checks the given instance for a @Priority annotation. If present the annotation's value is evaluated. If no such annotation is present, a default priority 1 is returned.

Parameters
o:Object

the instance, not null.

Returns:int

a priority, by default 1.

getPriorityback to summary
public static int getPriority(Class<T> type)

Checks the given type optionally annotated with a @Priority. If present the annotation's value is evaluated. If no such annotation is present, a default priority 1 is returned.

Parameters
type:Class<T>

the type, not null.

Returns:int

a priority, by default 1.

Annotations
@SuppressWarnings:rawtypes, unchecked