Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 47 lines 1.1 kB view raw
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}