package org.buckit.datasource; import java.util.HashMap; import org.bukkit.entity.Player; public class RequestDataSource implements DataSource { private DataSourceManager manager; private HashMap<Integer, Request> RequestById; private HashMap<String, Request> RequestByName; public RequestDataSource(DataSourceManager manager) { this.manager = manager; } public DataSourceManager getDataSourceManager(){ return manager; } public void registerRequest(Player player,Request request) { registerRequest(player.getPlayerId(),player.getName(),request); } public void registerRequest(int id, String name, Request request) { RequestById.put(id, request); RequestByName.put(name, request); } public void removeRequest(Player player) { removeRequest(player.getPlayerId(),player.getName()); } public void removeRequest(int id, String name) { RequestById.remove(id); RequestByName.remove(name); } public Request getRequest(Player p) { return getRequest(p.getPlayerId(), p.getName()); } public Request getRequest(int id) { return getRequest(id,null); } public Request getRequest(String name) { return getRequest(-1,null); } public Request getRequest(int id,String name) { if(RequestById.containsKey(id)) { return RequestById.get(id); } else if(RequestByName.containsKey(name)) { return RequestByName.get(name); } else return null; } @Override public boolean load() { RequestById = new HashMap<Integer, Request>(); RequestByName = new HashMap<String, Request>(); return true; } }