/******************************************************************************* * Copyright (C) 2014 Travis Ralston (turt2live) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. ******************************************************************************/ package com.turt2live.antishare.uuid; import java.util.UUID; /** * Represents a source for UUIDs, such as a local cache. Uses of this cache source * include the internal UUID operations of AntiShare. Sources which use a cache source * may reject the returned values for various characteristics (those characteristics * should be documented in their respective places) * * @author turt2live */ public interface CacheSource { /** * Gets the UUID for the specified player name. If the supplied player name * does not have an associated UUID in the cache, this should return null. This * should throw an exception on null input. * * @param playerName the player name to lookup, cannot be null * * @return the cached UUID, or null if not found */ public UUID get(String playerName); /** * Gets the player name for the specified UUID. If the supplied player UUID * does not have a an associated name in the cache, this should return null. This * should throw an exception on null input. * * @param player the player UUID to lookup, cannot be null * * @return the cached name, or null if not found */ public String get(UUID player); }