Class CSVBanDatabase
java.lang.Object
com.sk89q.commandbook.component.bans.CSVBanDatabase
- All Implemented Interfaces:
BanDatabase,java.lang.Iterable<Ban>
public class CSVBanDatabase extends java.lang.Object implements BanDatabase
-
Field Summary
Fields Modifier and Type Field Description protected java.util.logging.LoggerauditLoggerprotected java.util.Set<Ban>bansA set of all bans.protected java.util.Map<java.lang.String,Ban>ipBanUsed to lookup bans by ip addressprotected java.util.Map<java.lang.String,Ban>nameBanDeprecated.protected java.io.FilestorageFileprotected java.util.Map<java.util.UUID,Ban>UUIDBanUsed to lookup bans by UUID -
Constructor Summary
Constructors Constructor Description CSVBanDatabase(java.io.File banStorageDir) -
Method Summary
Modifier and Type Method Description voidban(java.util.UUID ID, java.lang.String name, java.lang.String address, org.bukkit.command.CommandSender source, java.lang.String reason, long end)Bans a UUID and or address.voidban(org.bukkit.entity.Player player, org.bukkit.command.CommandSender source, java.lang.String reason, long end)Bans a player by UUID and address.BangetBanned(java.lang.String address)Returns a Ban with the given addressBangetBanned(java.util.UUID ID)Returns a Ban with the given UUIDjava.lang.StringgetBannedMessage(java.lang.String address)Gets the ban message for a banned address.java.lang.StringgetBannedMessage(java.util.UUID ID)Gets the ban message for a banned UUID.voidimportFrom(BanDatabase bans)Imports the bans from another ban database.booleanisBanned(java.net.InetAddress address)Checks if a player's address is banned.booleanisBanned(java.util.UUID ID)Checks if a player's UUID is banned.java.util.Iterator<Ban>iterator()booleanload()Load the ban database.voidlogKick(org.bukkit.entity.Player player, org.bukkit.command.CommandSender source, java.lang.String reason)Unbans a name.booleansave()Save the database.booleanunban(java.util.UUID ID, java.lang.String address, org.bukkit.command.CommandSender source, java.lang.String reason)Unban a player and/or address.booleanunban(org.bukkit.entity.Player player, org.bukkit.command.CommandSender source, java.lang.String reason)Unban a player by UUID.booleanunbanName(java.lang.String name, org.bukkit.command.CommandSender source, java.lang.String reason)Unbans a name.booleanunload()Unloads the database
-
Field Details
-
auditLogger
protected final java.util.logging.Logger auditLogger -
storageFile
protected final java.io.File storageFile -
UUIDBan
Used to lookup bans by UUID -
nameBan
Deprecated.Used to lookup bans by name -
ipBan
Used to lookup bans by ip address -
bans
A set of all bans. No ban in the lookup maps is not in here.
-
-
Constructor Details
-
CSVBanDatabase
public CSVBanDatabase(java.io.File banStorageDir)
-
-
Method Details
-
load
public boolean load()Description copied from interface:BanDatabaseLoad the ban database.- Specified by:
loadin interfaceBanDatabase- Returns:
- whether the operation was fully successful
-
save
public boolean save()Description copied from interface:BanDatabaseSave the database.- Specified by:
savein interfaceBanDatabase- Returns:
- whether the operation was fully successful
-
unload
public boolean unload()Description copied from interface:BanDatabaseUnloads the database- Specified by:
unloadin interfaceBanDatabase- Returns:
- whether the operation was fully successful
-
isBanned
public boolean isBanned(java.util.UUID ID)Description copied from interface:BanDatabaseChecks if a player's UUID is banned.- Specified by:
isBannedin interfaceBanDatabase- Parameters:
ID- The UUID to check- Returns:
- Whether the UUID is banned
-
isBanned
public boolean isBanned(java.net.InetAddress address)Description copied from interface:BanDatabaseChecks if a player's address is banned.- Specified by:
isBannedin interfaceBanDatabase- Parameters:
address- The address to check- Returns:
- Whether the given address is banned
-
getBannedMessage
public java.lang.String getBannedMessage(java.util.UUID ID)Description copied from interface:BanDatabaseGets the ban message for a banned UUID.- Specified by:
getBannedMessagein interfaceBanDatabase- Parameters:
ID- The ID to check- Returns:
- The banned message for the given ID
-
getBannedMessage
public java.lang.String getBannedMessage(java.lang.String address)Description copied from interface:BanDatabaseGets the ban message for a banned address.- Specified by:
getBannedMessagein interfaceBanDatabase- Parameters:
address- The address to check- Returns:
- The banned message for the given address
-
ban
public void ban(org.bukkit.entity.Player player, org.bukkit.command.CommandSender source, java.lang.String reason, long end)Description copied from interface:BanDatabaseBans a player by UUID and address.- Specified by:
banin interfaceBanDatabase
-
ban
public void ban(java.util.UUID ID, java.lang.String name, java.lang.String address, org.bukkit.command.CommandSender source, java.lang.String reason, long end)Description copied from interface:BanDatabaseBans a UUID and or address.- Specified by:
banin interfaceBanDatabase
-
unbanName
public boolean unbanName(java.lang.String name, org.bukkit.command.CommandSender source, java.lang.String reason)Description copied from interface:BanDatabaseUnbans a name. WARNING: This method only works for cases where the UUID for the record is null.- Specified by:
unbanNamein interfaceBanDatabase- Returns:
- whether the name was found
-
unban
public boolean unban(org.bukkit.entity.Player player, org.bukkit.command.CommandSender source, java.lang.String reason)Description copied from interface:BanDatabaseUnban a player by UUID. WARNING: This method will not unban a player's address- Specified by:
unbanin interfaceBanDatabase- Returns:
-
unban
public boolean unban(java.util.UUID ID, java.lang.String address, org.bukkit.command.CommandSender source, java.lang.String reason)Description copied from interface:BanDatabaseUnban a player and/or address. First looks up by UUID, then if not found looks up by address.- Specified by:
unbanin interfaceBanDatabase- Returns:
-
logKick
public void logKick(org.bukkit.entity.Player player, org.bukkit.command.CommandSender source, java.lang.String reason)Description copied from interface:BanDatabaseUnbans a name.- Specified by:
logKickin interfaceBanDatabase
-
importFrom
Description copied from interface:BanDatabaseImports the bans from another ban database.- Specified by:
importFromin interfaceBanDatabase
-
getBanned
Description copied from interface:BanDatabaseReturns a Ban with the given UUID- Specified by:
getBannedin interfaceBanDatabase- Parameters:
ID- The UUID of the banned player.- Returns:
- The applicable ban
-
getBanned
Description copied from interface:BanDatabaseReturns a Ban with the given address- Specified by:
getBannedin interfaceBanDatabase- Parameters:
address- The address given to the ban.- Returns:
- The applicable ban
-
iterator
- Specified by:
iteratorin interfacejava.lang.Iterable<Ban>
-