All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tvd12.gamebox.manager.SynchronizedPlayerManager Maven / Gradle / Ivy

The newest version!
package com.tvd12.gamebox.manager;

import com.tvd12.gamebox.entity.Player;

import java.util.Collection;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.function.Supplier;

public class SynchronizedPlayerManager

extends AbstractPlayerManager

{ public SynchronizedPlayerManager() { this(999999999); } public SynchronizedPlayerManager(int maxPlayer) { super(maxPlayer); } protected SynchronizedPlayerManager(Builder builder) { super(builder); } @SuppressWarnings("rawtypes") public static Builder builder() { return new Builder<>(); } @Override public P getPlayer(String username) { synchronized (this) { return super.getPlayer(username); } } @Override public P getPlayer(String username, Supplier

playerSupplier) { synchronized (this) { return super.getPlayer(username, playerSupplier); } } @Override public P getFirstPlayer() { synchronized (this) { return super.getFirstPlayer(); } } @Override public List

getPlayerList() { synchronized (this) { return super.getPlayerList(); } } @Override public List

getPlayerList(Predicate

predicate) { synchronized (this) { return super.getPlayerList(predicate); } } @Override public void getPlayerList(List

buffer) { synchronized (this) { super.getPlayerList(buffer); } } @Override public List getPlayerNames() { synchronized (this) { return super.getPlayerNames(); } } @Override public boolean containsPlayer(String username) { synchronized (this) { return super.containsPlayer(username); } } @Override public void addPlayer(P player, boolean failIfAdded) { synchronized (this) { super.addPlayer(player, failIfAdded); } } @Override public void addPlayers(Collection

players, boolean failIfAdded) { synchronized (this) { super.addPlayers(players, failIfAdded); } } @Override public P removePlayer(P player) { synchronized (this) { return super.removePlayer(player); } } @Override public void removePlayers(Collection

players) { synchronized (this) { super.removePlayers(players); } } @Override public int getPlayerCount() { synchronized (this) { return super.getPlayerCount(); } } @Override public boolean available() { synchronized (this) { return super.available(); } } @Override public int countPlayers(Predicate

tester) { synchronized (this) { return super.countPlayers(tester); } } @Override public void forEach(Consumer

consumer) { synchronized (this) { super.forEach(consumer); } } @Override public List

filterPlayers(Predicate

tester) { synchronized (this) { return super.filterPlayers(tester); } } @Override public boolean isEmpty() { synchronized (this) { return super.isEmpty(); } } @Override public void clear() { synchronized (this) { super.clear(); } } public static class Builder> extends AbstractPlayerManager.Builder { @Override protected PlayerManager newProduct() { return new SynchronizedPlayerManager<>(this); } } }