Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package org.bukkit.plugin;
2
3/**
4 * A registered service provider.
5 *
6 * @param <T> Service
7 * @author sk89q
8 */
9public class RegisteredServiceProvider<T> implements Comparable<RegisteredServiceProvider<?>> {
10
11 private Class<T> service;
12 private Plugin plugin;
13 private T provider;
14 private ServicePriority priority;
15
16 public RegisteredServiceProvider(Class<T> service, T provider, ServicePriority priority, Plugin plugin) {
17
18 this.service = service;
19 this.plugin = plugin;
20 this.provider = provider;
21 this.priority = priority;
22 }
23
24 public Class<T> getService() {
25 return service;
26 }
27
28 public Plugin getPlugin() {
29 return plugin;
30 }
31
32 public T getProvider() {
33 return provider;
34 }
35
36 public ServicePriority getPriority() {
37 return priority;
38 }
39
40 public int compareTo(RegisteredServiceProvider<?> other) {
41 if (priority.ordinal() == other.getPriority().ordinal()) {
42 return 0;
43 } else {
44 return priority.ordinal() < other.getPriority().ordinal() ? 1 : -1;
45 }
46 }
47}