/FileExtraction/Java_unseen/Wind-Development_WindSpigot/WindSpigot-API/src/main/java/org/bukkit/plugin/RegisteredServiceProvider.java
package org.bukkit.plugin;

/**
 * A registered service provider.
 *
 * @param <T> Service
 */
public class RegisteredServiceProvider<T> implements Comparable<RegisteredServiceProvider<?>> {

	private Class<T> service;
	private Plugin plugin;
	private T provider;
	private ServicePriority priority;

	public RegisteredServiceProvider(Class<T> service, T provider, ServicePriority priority, Plugin plugin) {

		this.service = service;
		this.plugin = plugin;
		this.provider = provider;
		this.priority = priority;
	}

	public Class<T> getService() {
		return service;
	}

	public Plugin getPlugin() {
		return plugin;
	}

	public T getProvider() {
		return provider;
	}

	public ServicePriority getPriority() {
		return priority;
	}

	public int compareTo(RegisteredServiceProvider<?> other) {
		if (priority.ordinal() == other.getPriority().ordinal()) {
			return 0;
		} else {
			return priority.ordinal() < other.getPriority().ordinal() ? 1 : -1;
		}
	}
}
