diff options
author | Iaccidentally <coryhuckaby@gmail.com> | 2013-01-14 20:02:22 -0500 |
---|---|---|
committer | Iaccidentally <coryhuckaby@gmail.com> | 2013-01-14 20:02:22 -0500 |
commit | 8e54bf13b281d1299c3dc33f89940bd3a06d1a30 (patch) | |
tree | e3195164270d7c8e52fbd48ebd4e4623e1c07e09 /EssentialsGroupBridge | |
parent | 232052b7d24c14d0fa9089cbc8c16e6435779998 (diff) | |
download | Essentials-8e54bf13b281d1299c3dc33f89940bd3a06d1a30.tar Essentials-8e54bf13b281d1299c3dc33f89940bd3a06d1a30.tar.gz Essentials-8e54bf13b281d1299c3dc33f89940bd3a06d1a30.tar.lz Essentials-8e54bf13b281d1299c3dc33f89940bd3a06d1a30.tar.xz Essentials-8e54bf13b281d1299c3dc33f89940bd3a06d1a30.zip |
Remove Transient :: Formatting Cleanup
Diffstat (limited to 'EssentialsGroupBridge')
8 files changed, 1269 insertions, 1067 deletions
diff --git a/EssentialsGroupBridge/pom.xml b/EssentialsGroupBridge/pom.xml index ef9144d1b..9be873ec1 100644 --- a/EssentialsGroupBridge/pom.xml +++ b/EssentialsGroupBridge/pom.xml @@ -1,20 +1,20 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>net.essentials3</groupId> - <artifactId>BuildAll</artifactId> - <version>3.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> + <parent> + <groupId>net.essentials3</groupId> + <artifactId>BuildAll</artifactId> + <version>3.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> - <artifactId>EssentialsGroupBridge</artifactId> - <dependencies> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>EssentialsGroupManager</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> + <artifactId>EssentialsGroupBridge</artifactId> + <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>EssentialsGroupManager</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> </project> diff --git a/EssentialsGroupBridge/src/com/nijiko/permissions/Entry.java b/EssentialsGroupBridge/src/com/nijiko/permissions/Entry.java index 913c7f51e..a0c369aca 100644 --- a/EssentialsGroupBridge/src/com/nijiko/permissions/Entry.java +++ b/EssentialsGroupBridge/src/com/nijiko/permissions/Entry.java @@ -1,5 +1,6 @@ package com.nijiko.permissions; -public class Entry { - + +public class Entry +{ } diff --git a/EssentialsGroupBridge/src/com/nijiko/permissions/Group.java b/EssentialsGroupBridge/src/com/nijiko/permissions/Group.java index 0d070c207..aa5a39d3c 100644 --- a/EssentialsGroupBridge/src/com/nijiko/permissions/Group.java +++ b/EssentialsGroupBridge/src/com/nijiko/permissions/Group.java @@ -1,6 +1,6 @@ package com.nijiko.permissions; -public class Group extends Entry { - +public class Group extends Entry +{ }
\ No newline at end of file diff --git a/EssentialsGroupBridge/src/com/nijiko/permissions/PermissionHandler.java b/EssentialsGroupBridge/src/com/nijiko/permissions/PermissionHandler.java index 3b7181d03..f09da5d65 100644 --- a/EssentialsGroupBridge/src/com/nijiko/permissions/PermissionHandler.java +++ b/EssentialsGroupBridge/src/com/nijiko/permissions/PermissionHandler.java @@ -7,430 +7,508 @@ import java.util.Set; import org.bukkit.entity.Player; + /** - * Permissions 3.0 - * Copyright (C) 2011 Matt 'The Yeti' Burnett <admin@theyeticave.net> - * Original Credit & Copyright (C) 2010 Nijikokun <nijikokun@gmail.com> + * Permissions 3.0 Copyright (C) 2011 Matt 'The Yeti' Burnett <admin@theyeticave.net> Original Credit & Copyright (C) + * 2010 Nijikokun <nijikokun@gmail.com> * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Permissions Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Permissions Public + * License as published by the Free Software Foundation, either version 2 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 Permissions Public License for more details. + * 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 Permissions Public License for more + * details. * - * You should have received a copy of the GNU Permissions Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. + * You should have received a copy of the GNU Permissions Public License along with this program. If not, see + * <http://www.gnu.org/licenses/>. */ +public abstract class PermissionHandler +{ + //World config manipulation methods + /** + * Sets the default world that is loaded on startup. + * + * @param world World to load on startup + */ + public abstract void setDefaultWorld(String world); + + /** + * Check if world is loaded. A world is considered as loaded if there exists a user/group storage for it or it + * mirrors another world. + * + * @param world Target world + * @return Whether the world is loaded. + */ + public abstract boolean checkWorld(String world); + + /** + * Attempts to load a world. If the world is already loaded, nothing happens. + * + * @param world World to load + * @return Whether world isn't already loaded + * @throws Exception Any exception that may occur when loading the world. + */ + public abstract boolean loadWorld(String world) throws Exception; + + /** + * Forces a load of the world. + * + * @param world World to load + * @throws Exception Any exception that may occur when loading the world. + */ + public abstract void forceLoadWorld(String world) throws Exception; + + /** + * Returns a set of the names all loaded worlds. A world is considered as loaded if there exists a user/group + * storage for it or it mirrors another world. + * + * @return Set of the names all loaded worlds. + */ + public abstract Set<String> getWorlds(); + + /** + * Loads the default world and global permissions. + * + * @throws Exception Any exception that may occur when loading the worlds. + */ + public abstract void load() throws Exception; + + /** + * Reloads all worlds + */ + public abstract void reload(); + + /** + * Reloads the specified world + * + * @param world Name of target world + * @return False if world is not loaded, true otherwise + */ + public abstract boolean reload(String world); + + /** + * Forces all storages to save, + */ + public abstract void saveAll(); + + /** + * This method forces a save of the specified world + * + * @param world Name of target world + */ + public abstract void save(String world); + + /** + * Forces all storages to close. + */ + public abstract void closeAll(); + + //Permission-checking methods + /** + * This is an alias for permission(Player, String). + * + * @param player Target player + * @param node Permission node + * @return True if the player has the specified node, false otherwise + */ + public abstract boolean has(Player player, String node); + + /** + * This is an alias for permission(String, String, String). + * + * @param worldName Target world (may be different from player's current world) + * @param playerName Player's name + * @param node Permission node + * @return True if the player has the specified node, false otherwise + */ + public abstract boolean has(String worldName, String playerName, String node); + + /** + * This method checks if the player has the given permissions in his/her current world. In other words, this calls + * permissions(player.getWorld().getName(), player.getName(), node). + * + * @param player Target player + * @param node Permission node + * @return True if the player has the specified node, false otherwise + */ + public abstract boolean permission(Player player, String node); + + /** + * This method checks if the player has the given permissions in the given world. + * + * @param worldName Target world (may be different from player's current world) + * @param playerName Player's name + * @param node Permission node + * @return True if the player has the specified node, false otherwise + */ + public abstract boolean permission(String worldName, String playerName, String node); + + //Permission-manipulation methods + /** + * Adds the given permission to the targeted player. + * + * @param world Target world (may be different from player's current world) + * @param user Player's name + * @param node Permission node + */ + public abstract void addUserPermission(String world, String user, String node); + + /** + * Removes the given permission from the targeted player. + * + * @param world Target world (may be different from player's current world) + * @param user Player's name + * @param node Permission node + */ + public abstract void removeUserPermission(String world, String user, String node); + + /** + * Adds the given permission to the targeted group. + * + * @param world Target world + * @param user Group's name + * @param node Permission node + */ + public abstract void addGroupPermission(String world, String user, String node); + + /** + * Removes the given permission from the targeted group. + * + * @param world Target world + * @param user Group's name + * @param node Permission node + */ + public abstract void removeGroupPermission(String world, String user, String node); + + //Chat, prefix, suffix, build methods + /** + * Retrieves the properly-capitalised version of the given group's name. Returns an empty string if group does not + * exist. + * + * @param world Group's world + * @param group Group's name (any capitalisation) + * @return Group's properly-capitalised name. + */ + public abstract String getGroupProperName(String world, String group); + + /** + * Gets the appropriate prefix for the user. This method is a utility method for chat plugins to get the user's + * prefix without having to look at every one of the user's ancestors. Returns an empty string if user has no parent + * groups. + * + * @param world Player's world + * @param user Player's name + * @return Player's prefix + */ + public abstract String getUserPrefix(String world, String user); + + /** + * Gets the appropriate suffix for the user. This method is a utility method for chat plugins to get the user's + * suffix without having to look at every one of the user's ancestors. Returns an empty string if user has no parent + * groups. + * + * @param world Player's world + * @param user Player's name + * @return Player's suffix + */ + public abstract String getUserSuffix(String world, String user); + + /** + * Gets the primary group of the user. Returns the default group if user has no parent groups, or null if there is + * no default group for that world. + * + * @param world Player's world + * @param user Player's name + * @return Player's primary group + */ + public abstract Group getPrimaryGroupObject(String world, String user); + + /** + * Gets name of the primary group of the user. Returns the name of the default group if user has no parent groups, + * or "Default" if there is no default group for that world. + * + * @param world Player's world + * @param user Player's name + * @return Name of player's primary group + */ + public abstract String getPrimaryGroup(String world, String user); + + /** + * Check if user can build. + * + * @param world Player's world + * @param user Player's name + * @return Whether the user can build + */ + public abstract boolean canUserBuild(String world, String user); + + /** + * Retrieves group's raw prefix, inheritance not included. Will return an empty string if no prefix is defined for + * the group. + * + * @param world Group's world + * @param group Group's name + * @return The prefix defined for the group, empty string if prefix is not defined. + */ + public abstract String getGroupRawPrefix(String world, String group); + + /** + * Retrieves group's raw suffix, inheritance not included. Will return an empty string if no suffix is defined for + * the group. + * + * @param world Group's world + * @param group Group's name + * @return The suffix defined for the group, empty string if suffix is not defined. + */ + public abstract String getGroupRawSuffix(String world, String group); + + /** + * Retrieves group's build setting, inheritance not included. + * + * @param world Group's world + * @param group Group's name + * @return Returns group's build setting. + */ + public abstract boolean canGroupRawBuild(String world, String group); + + //Entry methods + /** + * Returns the user object defined by the given world and name. This method attempts to create the object if it does + * not exist. + * + * @param world User's world + * @param name User's name + * @return User object + * @throws Exception An exception when creating the user object + */ + public abstract User safeGetUser(String world, String name) throws Exception; + + /** + * Returns the group object defined by the given world and name. This method attempts to create the object if it + * does not exist. + * + * @param world Group's world + * @param name Group's name + * @return Group object + * @throws Exception An exception when creating the group object + */ + public abstract Group safeGetGroup(String world, String name) throws Exception; + + /** + * Returns the user object defined by the given world and name. This method will return null if the object does not + * exist. + * + * @param world User's world + * @param name User's name + * @return User object, or null if it doesn't exist + */ + public abstract User getUserObject(String world, String name); + + /** + * Returns the group object defined by the given world and name. This method will return null if the object does not + * exist. + * + * @param world Group's world + * @param name Group's name + * @return Group object, or null if it doesn't exist + */ + public abstract Group getGroupObject(String world, String name); + + /** + * Returns the group object representing the default group of the given world. This method will return null if the + * object does not exist or the world has no default group. + * + * @param world Target world + * @return Group object representing default world, or null if it doesn't exist or is not defined. + */ + public abstract Group getDefaultGroup(String world); + + /** + * Returns all the user objects in the world. Will return null if world does not exist. + * + * @param world Target world + * @return Collection of all user objects belonging to the world. + */ + public abstract Collection<User> getUsers(String world); + + /** + * Returns all the group objects in the world. Will return null if world does not exist. + * + * @param world Target world + * @return Collection of all group objects belonging to the world. + */ + public abstract Collection<Group> getGroups(String world); + + //Parent-related methods + public abstract Set<String> getTracks(String world); + + /** + * Checks if user is in specified group. Includes inherited groups. + * + * @param world World of both the user and the group + * @param user User's name + * @param group Parent group's name + * @return Whether user is a child of the specified group + */ + public abstract boolean inGroup(String world, String user, String group); + + /** + * Checks if user is in specified group. Includes inherited groups. + * + * @param world User's world + * @param user User's name + * @param groupWorld Parent group's world + * @param group Parent group's name + * @return Whether user is a child of the specified group + */ + public abstract boolean inGroup(String world, String user, String groupWorld, String group); -public abstract class PermissionHandler { - //World config manipulation methods - - /** - * Sets the default world that is loaded on startup. - * @param world World to load on startup - */ - public abstract void setDefaultWorld(String world); - /** - * Check if world is loaded. - * A world is considered as loaded if there exists a user/group storage for it or it mirrors another world. - * @param world Target world - * @return Whether the world is loaded. - */ - public abstract boolean checkWorld(String world); - - /** - * Attempts to load a world. If the world is already loaded, nothing happens. - * @param world World to load - * @return Whether world isn't already loaded - * @throws Exception Any exception that may occur when loading the world. - */ - public abstract boolean loadWorld(String world) throws Exception; - /** - * Forces a load of the world. - * @param world World to load - * @throws Exception Any exception that may occur when loading the world. - */ - public abstract void forceLoadWorld(String world) throws Exception; - /** - * Returns a set of the names all loaded worlds. - * A world is considered as loaded if there exists a user/group storage for it or it mirrors another world. - * @return Set of the names all loaded worlds. - */ - public abstract Set<String> getWorlds(); - /** - * Loads the default world and global permissions. - * @throws Exception Any exception that may occur when loading the worlds. - */ - public abstract void load() throws Exception; - /** - * Reloads all worlds - */ - public abstract void reload(); - /** - * Reloads the specified world - * @param world Name of target world - * @return False if world is not loaded, true otherwise - */ - public abstract boolean reload(String world); - /** - * Forces all storages to save, - */ - public abstract void saveAll(); - /** - * This method forces a save of the specified world - * @param world Name of target world - */ - public abstract void save(String world); - /** - * Forces all storages to close. - */ - public abstract void closeAll(); - - //Permission-checking methods - /** - * This is an alias for permission(Player, String). - * @param player Target player - * @param node Permission node - * @return True if the player has the specified node, false otherwise - */ - public abstract boolean has(Player player, String node); - /** - * This is an alias for permission(String, String, String). - * @param worldName Target world (may be different from player's current world) - * @param playerName Player's name - * @param node Permission node - * @return True if the player has the specified node, false otherwise - */ - public abstract boolean has(String worldName, String playerName, String node); - /** - * This method checks if the player has the given permissions in his/her current world. - * In other words, this calls permissions(player.getWorld().getName(), player.getName(), node). - * @param player Target player - * @param node Permission node - * @return True if the player has the specified node, false otherwise - */ - public abstract boolean permission(Player player, String node); - /** - * This method checks if the player has the given permissions in the given world. - * @param worldName Target world (may be different from player's current world) - * @param playerName Player's name - * @param node Permission node - * @return True if the player has the specified node, false otherwise - */ - public abstract boolean permission(String worldName, String playerName, String node); - - //Permission-manipulation methods - /** - * Adds the given permission to the targeted player. - * @param world Target world (may be different from player's current world) - * @param user Player's name - * @param node Permission node - */ - public abstract void addUserPermission(String world, String user, String node); - /** - * Removes the given permission from the targeted player. - * @param world Target world (may be different from player's current world) - * @param user Player's name - * @param node Permission node - */ - public abstract void removeUserPermission(String world, String user, String node); - /** - * Adds the given permission to the targeted group. - * @param world Target world - * @param user Group's name - * @param node Permission node - */ - public abstract void addGroupPermission(String world, String user, String node); - /** - * Removes the given permission from the targeted group. - * @param world Target world - * @param user Group's name - * @param node Permission node - */ - public abstract void removeGroupPermission(String world, String user, String node); - - //Chat, prefix, suffix, build methods - /** - * Retrieves the properly-capitalised version of the given group's name. - * Returns an empty string if group does not exist. - * @param world Group's world - * @param group Group's name (any capitalisation) - * @return Group's properly-capitalised name. - */ - public abstract String getGroupProperName(String world, String group); - /** - * Gets the appropriate prefix for the user. - * This method is a utility method for chat plugins to get the user's prefix - * without having to look at every one of the user's ancestors. - * Returns an empty string if user has no parent groups. - * @param world Player's world - * @param user Player's name - * @return Player's prefix - */ - public abstract String getUserPrefix(String world, String user); - /** - * Gets the appropriate suffix for the user. - * This method is a utility method for chat plugins to get the user's suffix - * without having to look at every one of the user's ancestors. - * Returns an empty string if user has no parent groups. - * @param world Player's world - * @param user Player's name - * @return Player's suffix - */ - public abstract String getUserSuffix(String world, String user); - /** - * Gets the primary group of the user. - * Returns the default group if user has no parent groups, - * or null if there is no default group for that world. - * @param world Player's world - * @param user Player's name - * @return Player's primary group - */ - public abstract Group getPrimaryGroupObject(String world, String user); - /** - * Gets name of the primary group of the user. - * Returns the name of the default group if user has no parent groups, - * or "Default" if there is no default group for that world. - * @param world Player's world - * @param user Player's name - * @return Name of player's primary group - */ - public abstract String getPrimaryGroup(String world, String user); - /** - * Check if user can build. - * @param world Player's world - * @param user Player's name - * @return Whether the user can build - */ - public abstract boolean canUserBuild(String world, String user); - - /** - * Retrieves group's raw prefix, inheritance not included. - * Will return an empty string if no prefix is defined for the group. - * @param world Group's world - * @param group Group's name - * @return The prefix defined for the group, empty string if prefix is not defined. - */ - public abstract String getGroupRawPrefix(String world, String group); - /** - * Retrieves group's raw suffix, inheritance not included. - * Will return an empty string if no suffix is defined for the group. - * @param world Group's world - * @param group Group's name - * @return The suffix defined for the group, empty string if suffix is not defined. - */ - public abstract String getGroupRawSuffix(String world, String group); - /** - * Retrieves group's build setting, inheritance not included. - * @param world Group's world - * @param group Group's name - * @return Returns group's build setting. - */ - public abstract boolean canGroupRawBuild(String world, String group); - - //Entry methods - /** - * Returns the user object defined by the given world and name. - * This method attempts to create the object if it does not exist. - * @param world User's world - * @param name User's name - * @return User object - * @throws Exception An exception when creating the user object - */ - public abstract User safeGetUser(String world, String name) throws Exception; - /** - * Returns the group object defined by the given world and name. - * This method attempts to create the object if it does not exist. - * @param world Group's world - * @param name Group's name - * @return Group object - * @throws Exception An exception when creating the group object - */ - public abstract Group safeGetGroup(String world, String name) throws Exception; - /** - * Returns the user object defined by the given world and name. - * This method will return null if the object does not exist. - * @param world User's world - * @param name User's name - * @return User object, or null if it doesn't exist - */ - public abstract User getUserObject(String world, String name); - /** - * Returns the group object defined by the given world and name. - * This method will return null if the object does not exist. - * @param world Group's world - * @param name Group's name - * @return Group object, or null if it doesn't exist - */ - public abstract Group getGroupObject(String world, String name); - - /** - * Returns the group object representing the default group of the given world. - * This method will return null if the object does not exist or the world has no default group. - * @param world Target world - * @return Group object representing default world, or null if it doesn't exist or is not defined. - */ - public abstract Group getDefaultGroup(String world); - /** - * Returns all the user objects in the world. - * Will return null if world does not exist. - * @param world Target world - * @return Collection of all user objects belonging to the world. - */ - public abstract Collection<User> getUsers(String world); - /** - * Returns all the group objects in the world. - * Will return null if world does not exist. - * @param world Target world - * @return Collection of all group objects belonging to the world. - */ - public abstract Collection<Group> getGroups(String world); - - //Parent-related methods - public abstract Set<String> getTracks(String world); - /** - * Checks if user is in specified group. Includes inherited groups. - * @param world World of both the user and the group - * @param user User's name - * @param group Parent group's name - * @return Whether user is a child of the specified group - */ - public abstract boolean inGroup(String world, String user, String group); - /** - * Checks if user is in specified group. Includes inherited groups. - * @param world User's world - * @param user User's name - * @param groupWorld Parent group's world - * @param group Parent group's name - * @return Whether user is a child of the specified group - */ - public abstract boolean inGroup(String world, String user, String groupWorld, String group); - /** - * Checks if user is in specified group, not counting inherited parents. - * @param world World of both the user and the group - * @param user User's name - * @param group Parent group's name - * @return Whether user is a child of the specified group - */ - public abstract boolean inSingleGroup(String world, String user, String group); - /** - * Checks if user is in specified group, not counting inherited parents. - * @param world User's world - * @param user User's name - * @param groupWorld Parent group's world - * @param group Parent group's name - * @return Whether user is a child of the specified group - */ - public abstract boolean inSingleGroup(String world, String user, String groupWorld, String group); - /** - * Gets a array of the names of all parent groups in the same world. - * @param world Target user's world - * @param name Target user's name - * @return An array containing the names of all parent groups (including ancestors) that are in the same world - */ - public abstract String[] getGroups(String world, String name); - /** - * Gets a map of world name to all parent groups of the target user in that world. - * @param world Target user's world - * @param name Target user's name - * @return Map of world name to set of groups that the user inherits from in the world. - */ - public abstract Map<String, Set<String>> getAllGroups(String world, String name); - - //Weight-related methods - /** - * Compare the weights of two users. - * This method is for plugin devs to compare whether a user can do an action to another user. - * For example, SlapPlugin can compare the weights of two users when one of them wants to /slap the other. - * It can decide whether to allow the slap using the result of this function. - * @param firstWorld First user's world - * @param first First user's name - * @param secondWorld Second user's world - * @param second Second user's name - * @return -1 if firstWeight < secondWeight, 0 if firstWeight == secondWeight, 1 if firstWeight > secondWeight - */ - public abstract int compareWeights(String firstWorld, String first, String secondWorld, String second); - /** - * Alias for compareWeights(world, first, world, second). - * @param world World - * @param first First user's name - * @param second Second user's name - * @return -1 if firstWeight < secondWeight, 0 if firstWeight == secondWeight, 1 if firstWeight > secondWeight - */ - public abstract int compareWeights(String world, String first, String second); - - //Data-related methods - public abstract String getRawInfoString(String world, String entryName, String path,boolean isGroup); - - public abstract Integer getRawInfoInteger(String world, String entryName, String path, boolean isGroup); - - public abstract Double getRawInfoDouble(String world, String entryName, String path, boolean isGroup); - - public abstract Boolean getRawInfoBoolean(String world, String entryName, String path, boolean isGroup); - - - public abstract String getInfoString(String world, String entryName, String path,boolean isGroup); - public abstract String getInfoString(String world, String entryName, String path, boolean isGroup, Comparator<String> comparator); - - public abstract Integer getInfoInteger(String world, String entryName, String path, boolean isGroup); - public abstract Integer getInfoInteger(String world, String entryName, String path, boolean isGroup, Comparator<Integer> comparator); - - public abstract Double getInfoDouble(String world, String entryName, String path, boolean isGroup); - public abstract Double getInfoDouble(String world, String entryName, String path, boolean isGroup, Comparator<Double> comparator); - - public abstract Boolean getInfoBoolean(String world, String entryName, String path, boolean isGroup); - public abstract Boolean getInfoBoolean(String world, String entryName, String path, boolean isGroup, Comparator<Boolean> comparator); - - - public abstract void addUserInfo(String world, String name, String path, Object data); - public abstract void removeUserInfo(String world, String name, String path); - public abstract void addGroupInfo(String world, String name, String path, Object data); - public abstract void removeGroupInfo(String world, String name, String path); - - //Legacy methods - @Deprecated - public abstract String getGroupPermissionString(String world, String group, String path); - @Deprecated - public abstract int getGroupPermissionInteger(String world, String group, String path); - @Deprecated - public abstract boolean getGroupPermissionBoolean(String world, String group, String path); - @Deprecated - public abstract double getGroupPermissionDouble(String world, String group, String path); - - @Deprecated - public abstract String getUserPermissionString(String world, String group, String path); - @Deprecated - public abstract int getUserPermissionInteger(String world, String group, String path); - @Deprecated - public abstract boolean getUserPermissionBoolean(String world, String group, String path); - @Deprecated - public abstract double getUserPermissionDouble(String world, String group, String path); - - @Deprecated - public abstract String getPermissionString(String world, String group, String path); - @Deprecated - public abstract int getPermissionInteger(String world, String group, String path); - @Deprecated - public abstract boolean getPermissionBoolean(String world, String group, String path); - @Deprecated - public abstract double getPermissionDouble(String world, String group, String path); - - - @Deprecated - public abstract String getGroup(String world, String group); - - @Deprecated - public abstract String getGroupPrefix(String world, String group); - @Deprecated - public abstract String getGroupSuffix(String world, String group); - @Deprecated - public abstract boolean canGroupBuild(String world, String group); - - //Cache methods are no longer available + /** + * Checks if user is in specified group, not counting inherited parents. + * + * @param world World of both the user and the group + * @param user User's name + * @param group Parent group's name + * @return Whether user is a child of the specified group + */ + public abstract boolean inSingleGroup(String world, String user, String group); + + /** + * Checks if user is in specified group, not counting inherited parents. + * + * @param world User's world + * @param user User's name + * @param groupWorld Parent group's world + * @param group Parent group's name + * @return Whether user is a child of the specified group + */ + public abstract boolean inSingleGroup(String world, String user, String groupWorld, String group); + + /** + * Gets a array of the names of all parent groups in the same world. + * + * @param world Target user's world + * @param name Target user's name + * @return An array containing the names of all parent groups (including ancestors) that are in the same world + */ + public abstract String[] getGroups(String world, String name); + + /** + * Gets a map of world name to all parent groups of the target user in that world. + * + * @param world Target user's world + * @param name Target user's name + * @return Map of world name to set of groups that the user inherits from in the world. + */ + public abstract Map<String, Set<String>> getAllGroups(String world, String name); + + //Weight-related methods + /** + * Compare the weights of two users. This method is for plugin devs to compare whether a user can do an action to + * another user. For example, SlapPlugin can compare the weights of two users when one of them wants to /slap the + * other. It can decide whether to allow the slap using the result of this function. + * + * @param firstWorld First user's world + * @param first First user's name + * @param secondWorld Second user's world + * @param second Second user's name + * @return -1 if firstWeight < secondWeight, 0 if firstWeight == secondWeight, 1 if firstWeight > secondWeight + */ + public abstract int compareWeights(String firstWorld, String first, String secondWorld, String second); + + /** + * Alias for compareWeights(world, first, world, second). + * + * @param world World + * @param first First user's name + * @param second Second user's name + * @return -1 if firstWeight < secondWeight, 0 if firstWeight == secondWeight, 1 if firstWeight > secondWeight + */ + public abstract int compareWeights(String world, String first, String second); + + //Data-related methods + public abstract String getRawInfoString(String world, String entryName, String path, boolean isGroup); + + public abstract Integer getRawInfoInteger(String world, String entryName, String path, boolean isGroup); + + public abstract Double getRawInfoDouble(String world, String entryName, String path, boolean isGroup); + + public abstract Boolean getRawInfoBoolean(String world, String entryName, String path, boolean isGroup); + + public abstract String getInfoString(String world, String entryName, String path, boolean isGroup); + + public abstract String getInfoString(String world, String entryName, String path, boolean isGroup, Comparator<String> comparator); + + public abstract Integer getInfoInteger(String world, String entryName, String path, boolean isGroup); + + public abstract Integer getInfoInteger(String world, String entryName, String path, boolean isGroup, Comparator<Integer> comparator); + + public abstract Double getInfoDouble(String world, String entryName, String path, boolean isGroup); + + public abstract Double getInfoDouble(String world, String entryName, String path, boolean isGroup, Comparator<Double> comparator); + + public abstract Boolean getInfoBoolean(String world, String entryName, String path, boolean isGroup); + + public abstract Boolean getInfoBoolean(String world, String entryName, String path, boolean isGroup, Comparator<Boolean> comparator); + + public abstract void addUserInfo(String world, String name, String path, Object data); + + public abstract void removeUserInfo(String world, String name, String path); + + public abstract void addGroupInfo(String world, String name, String path, Object data); + + public abstract void removeGroupInfo(String world, String name, String path); + + //Legacy methods + @Deprecated + public abstract String getGroupPermissionString(String world, String group, String path); + + @Deprecated + public abstract int getGroupPermissionInteger(String world, String group, String path); + + @Deprecated + public abstract boolean getGroupPermissionBoolean(String world, String group, String path); + + @Deprecated + public abstract double getGroupPermissionDouble(String world, String group, String path); + + @Deprecated + public abstract String getUserPermissionString(String world, String group, String path); + + @Deprecated + public abstract int getUserPermissionInteger(String world, String group, String path); + + @Deprecated + public abstract boolean getUserPermissionBoolean(String world, String group, String path); + + @Deprecated + public abstract double getUserPermissionDouble(String world, String group, String path); + + @Deprecated + public abstract String getPermissionString(String world, String group, String path); + + @Deprecated + public abstract int getPermissionInteger(String world, String group, String path); + + @Deprecated + public abstract boolean getPermissionBoolean(String world, String group, String path); + + @Deprecated + public abstract double getPermissionDouble(String world, String group, String path); + + @Deprecated + public abstract String getGroup(String world, String group); + + @Deprecated + public abstract String getGroupPrefix(String world, String group); + + @Deprecated + public abstract String getGroupSuffix(String world, String group); + + @Deprecated + public abstract boolean canGroupBuild(String world, String group); + //Cache methods are no longer available // @Deprecated // public void setCache(String world, Map<String, Boolean> Cache) { // } @@ -454,5 +532,4 @@ public abstract class PermissionHandler { // @Deprecated // public void clearAllCache(){ // } - }
\ No newline at end of file diff --git a/EssentialsGroupBridge/src/com/nijiko/permissions/User.java b/EssentialsGroupBridge/src/com/nijiko/permissions/User.java index 9e93d850a..3bdea431f 100644 --- a/EssentialsGroupBridge/src/com/nijiko/permissions/User.java +++ b/EssentialsGroupBridge/src/com/nijiko/permissions/User.java @@ -1,5 +1,6 @@ package com.nijiko.permissions; -public class User extends Entry { - + +public class User extends Entry +{ } diff --git a/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/OverrideListener.java b/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/OverrideListener.java index 762e42b49..9260c9859 100644 --- a/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/OverrideListener.java +++ b/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/OverrideListener.java @@ -6,20 +6,21 @@ import org.bukkit.event.server.PluginEnableEvent; import org.bukkit.event.Listener;
-
-public class OverrideListener implements Listener {
-
+public class OverrideListener implements Listener
+{
Permissions permClass;
-
- OverrideListener(Permissions instance) {
+
+ OverrideListener(Permissions instance)
+ {
this.permClass = instance;
}
-
+
@EventHandler(priority = EventPriority.NORMAL)
- public void onPluginEnable(PluginEnableEvent event) {
- if (event.getPlugin().getDescription().getName().equals("GroupManager")) {
- permClass.setGM(event.getPlugin());
- }
- }
-
+ public void onPluginEnable(PluginEnableEvent event)
+ {
+ if (event.getPlugin().getDescription().getName().equals("GroupManager"))
+ {
+ permClass.setGM(event.getPlugin());
+ }
+ }
}
\ No newline at end of file diff --git a/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java b/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java index 99fd18ce8..7115bb04c 100644 --- a/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java +++ b/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java @@ -8,68 +8,80 @@ import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPlugin; -public class Permissions extends JavaPlugin { - public static final Logger log = Logger.getLogger("Fake Permissions"); - public static String name = "Permissions"; - public static String codename = "Hacked Permissions by AnjoCaido"; - public static String version = "2.0"; - public static PermissionHandler Security = null; +public class Permissions extends JavaPlugin +{ + public static final Logger log = Logger.getLogger("Fake Permissions"); + public static String name = "Permissions"; + public static String codename = "Hacked Permissions by AnjoCaido"; + public static String version = "2.0"; + public static PermissionHandler Security = null; - @Override - public void onDisable() { - PluginDescriptionFile pdfFile = this.getDescription(); - System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is disabled!"); - } + @Override + public void onDisable() + { + PluginDescriptionFile pdfFile = this.getDescription(); + System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is disabled!"); + } - @Override - public void onEnable() { - PluginDescriptionFile pdfFile = this.getDescription(); + @Override + public void onEnable() + { + PluginDescriptionFile pdfFile = this.getDescription(); - if (Security == null) { - //make sure we have only one instance - Security = new NijikoPermissionsProxy(null); - } + if (Security == null) + { + //make sure we have only one instance + Security = new NijikoPermissionsProxy(null); + } - Plugin p = (this.getServer() == null) ? null : this.getServer().getPluginManager().getPlugin("GroupManager"); - if (p != null) { - if (p.isEnabled()) { - setGM(p); - } else { - if (this.getServer() != null) { - this.getServer().getPluginManager().registerEvents(new OverrideListener(this), this); - } - } - } else { - System.err.println("OOOPS! Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " couldn't find GroupManager!"); - this.getPluginLoader().disablePlugin(this); - } + Plugin p = (this.getServer() == null) ? null : this.getServer().getPluginManager().getPlugin("GroupManager"); + if (p != null) + { + if (p.isEnabled()) + { + setGM(p); + } + else + { + if (this.getServer() != null) + { + this.getServer().getPluginManager().registerEvents(new OverrideListener(this), this); + } + } + } + else + { + System.err.println("OOOPS! Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " couldn't find GroupManager!"); + this.getPluginLoader().disablePlugin(this); + } - if (pdfFile != null) { - System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!"); - } - } + if (pdfFile != null) + { + System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!"); + } + } - public void setGM(final Plugin p) { - //GroupManager groupManager = (GroupManager) p; - ((NijikoPermissionsProxy) Security).setGM(p); - } + public void setGM(final Plugin p) + { + //GroupManager groupManager = (GroupManager) p; + ((NijikoPermissionsProxy)Security).setGM(p); + } - public PermissionHandler getHandler() { - if (Security == null) { - Security = new NijikoPermissionsProxy(null); - } - return Security; - } + public PermissionHandler getHandler() + { + if (Security == null) + { + Security = new NijikoPermissionsProxy(null); + } + return Security; + } - public void setupPermissions() { - if (Security == null) { - Security = new NijikoPermissionsProxy(null); - } - } - - - + public void setupPermissions() + { + if (Security == null) + { + Security = new NijikoPermissionsProxy(null); + } + } } - - diff --git a/EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java b/EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java index cac98e554..3b5b564fb 100644 --- a/EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java +++ b/EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java @@ -18,570 +18,680 @@ import org.anjocaido.groupmanager.GroupManager; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; + /** * Everything here maintains the model created by Nijikokun * - * But implemented to use GroupManager system. Which provides instant changes, - * without file access. + * But implemented to use GroupManager system. Which provides instant changes, without file access. * * @author gabrielcouto */ -public class NijikoPermissionsProxy extends PermissionHandler { - - GroupManager plugin; - - public NijikoPermissionsProxy(GroupManager plugin) { - super(); - this.plugin = plugin; - } - - @Override - public void addGroupPermission(String world, String group, String node) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void removeGroupPermission(String world, String group, String node) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void addGroupInfo(String world, String group, String node, Object data) { - plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().addGroupInfo(group, node, data); - } - - @Override - public void removeGroupInfo(String world, String group, String node) { - plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().removeGroupInfo(group, node); - } - - @Override - public void addUserPermission(String world, String user, String node) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void removeUserPermission(String world, String user, String node) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void addUserInfo(String world, String user, String node, Object data) { - plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().addUserInfo(user, node, data); - } - - @Override - public void removeUserInfo(String world, String user, String node) { - plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().removeUserInfo(user, node); - } - - @Deprecated - public void removeUserInfo(String user, String node) { - plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().removeUserInfo(user, node); - } - - @Deprecated - public void addGroupPermission(String group, String node) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Deprecated - public void removeGroupPermission(String group, String node) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Deprecated - public void addGroupInfo(String group, String node, Object data) { - plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().addGroupInfo(group, node, data); - } - - @Deprecated - public void removeGroupInfo(String group, String node) { - plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().removeGroupInfo(group, node); - } - - @Deprecated - public void addUserPermission(String user, String node) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Deprecated - public void removeUserPermission(String user, String node) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Deprecated - public void addUserInfo(String user, String node, Object data) { - plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().addUserInfo(user, node, data); - } - - @Override - public void setDefaultWorld(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Deprecated - public void setDirectory(File directory) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public boolean loadWorld(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void forceLoadWorld(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public boolean checkWorld(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void load() { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void reload() { - plugin.getWorldsHolder().reloadAll(); - //throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public boolean reload(String world) { - plugin.getWorldsHolder().reloadWorld(world); - return true; - } - - @Override - public boolean has(Player player, String permission) { - //throw new UnsupportedOperationException("Not supported yet."); - return permission(player, permission); - } - - @Override - public boolean permission(Player player, String permission) { - //throw new UnsupportedOperationException("Not supported yet."); - if (permission == null || permission.equals("")) { - return false; - } - if (player == null) { - GroupManager.logger.severe("A plugin is asking permission '" + permission + "' for a null player... Which plugin does that? Bastards!"); - return false; - } - if (player.getWorld() == null) { - GroupManager.logger.warning("The player " + player.getName() + " has a null world? Treating as default world!"); - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().has(player, permission); - } - return plugin.getWorldsHolder().getWorldData(player.getWorld().getName()).getPermissionsHandler().has(player, permission); - } - - @Override - public String getGroupRawPrefix(String world, String group) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group); - } - - @Override - public String getGroupRawSuffix(String world, String group) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group); - } - - @Override - public String getUserPrefix(String world, String user) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPrefix(user); - } - - @Override - public String getUserSuffix(String world, String user) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserSuffix(user); - } - - @Override - public String getGroup(String world, String user) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(user); - } - - @Override - public String getPrimaryGroup(String world, String user) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(user); - } - - @Override - public boolean canUserBuild(String world, String user) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canUserBuild(user); - } - - @Deprecated - public String getGroup(String name) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroup(name); - } - - @Override - public String[] getGroups(String world, String name) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroups(name); - } - - @Override - public boolean inGroup(String world, String name, String group) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(name, group); - } - - @Deprecated - public boolean inGroup(String name, String group) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().inGroup(name, group); - } - - @Override - public String getGroupPrefix(String world, String group) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group); - } - - @Deprecated - public String getGroupPrefix(String group) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPrefix(group); - } - - @Override - public String getGroupSuffix(String world, String group) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group); - } - - @Deprecated - public String getGroupSuffix(String group) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupSuffix(group); - } - - @Override - public boolean canGroupBuild(String world, String group) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canGroupBuild(group); - } - - @Deprecated - public boolean canGroupBuild(String group) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().canGroupBuild(group); - } - - @Override - public String getGroupPermissionString(String world, String group, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionString(group, permission); - } - - @Deprecated - public String getGroupPermissionString(String group, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionString(group, permission); - } - - @Override - public int getGroupPermissionInteger(String world, String group, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionInteger(group, permission); - } - - @Deprecated - public int getGroupPermissionInteger(String group, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionInteger(group, permission); - } - - @Override - public boolean getGroupPermissionBoolean(String world, String group, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionBoolean(group, permission); - } - - @Deprecated - public boolean getGroupPermissionBoolean(String group, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionBoolean(group, permission); - } - - @Override - public double getGroupPermissionDouble(String world, String group, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionDouble(group, permission); - } - - @Deprecated - public double getGroupPermissionDouble(String group, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionDouble(group, permission); - } - - @Override - public String getUserPermissionString(String world, String name, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionString(name, permission); - } - - @Deprecated - public String getUserPermissionString(String name, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionString(name, permission); - } - - @Override - public int getUserPermissionInteger(String world, String name, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionInteger(name, permission); - } - - @Deprecated - public int getUserPermissionInteger(String name, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionInteger(name, permission); - } - - @Override - public boolean getUserPermissionBoolean(String world, String name, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionBoolean(name, permission); - } - - @Deprecated - public boolean getUserPermissionBoolean(String name, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionBoolean(name, permission); - } - - @Override - public double getUserPermissionDouble(String world, String name, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionDouble(name, permission); - } - - @Deprecated - public double getUserPermissionDouble(String name, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionDouble(name, permission); - } - - @Override - public String getPermissionString(String world, String name, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionString(name, permission); - } - - @Deprecated - public String getPermissionString(String name, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionString(name, permission); - } - - @Override - public int getPermissionInteger(String world, String name, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionInteger(name, permission); - } - - @Deprecated - public int getPermissionInteger(String name, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionInteger(name, permission); - } - - @Override - public boolean getPermissionBoolean(String world, String name, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionBoolean(name, permission); - } - - @Deprecated - public boolean getPermissionBoolean(String name, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionBoolean(name, permission); - } - - @Override - public double getPermissionDouble(String world, String name, String permission) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionDouble(name, permission); - } - - @Deprecated - public double getPermissionDouble(String name, String permission) { - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionDouble(name, permission); - } - - public void setGM(Plugin p) { - this.plugin = (GroupManager) p; - } - - @Override - public boolean canGroupRawBuild(String world, String group) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canGroupBuild(group); - } - - @Override - public void closeAll() { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public int compareWeights(String firstWorld, String first, String secondWorld, String second) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public int compareWeights(String world, String first, String second) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Map<String, Set<String>> getAllGroups(String world, String name) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Group getDefaultGroup(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Group getGroupObject(String world, String group) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public String getGroupProperName(String world, String group) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Boolean getInfoBoolean(String world, String entryName, String path, - boolean isGroup) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoBoolean(entryName, path, isGroup); - } - - @Override - public Boolean getInfoBoolean(String world, String entryName, String path, - boolean isGroup, Comparator<Boolean> comparator) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Double getInfoDouble(String world, String entryName, String path, boolean isGroup) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoDouble(entryName, path, isGroup); - } - - @Override - public Double getInfoDouble(String world, String entryName, String path, - boolean isGroup, Comparator<Double> comparator) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Integer getInfoInteger(String world, String entryName, String path, - boolean isGroup) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoInteger(entryName, path, isGroup); - } - - @Override - public Integer getInfoInteger(String world, String entryName, String path, - boolean isGroup, Comparator<Integer> comparator) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public String getInfoString(String world, String entryName, String path, boolean isGroup) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoString(entryName, path, isGroup); - } - - @Override - public String getInfoString(String world, String entryName, String path, - boolean isGroup, Comparator<String> comparator) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Boolean getRawInfoBoolean(String world, String entryName, String path, - boolean isGroup) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Double getRawInfoDouble(String world, String entryName, String path, - boolean isGroup) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Integer getRawInfoInteger(String world, String entryName, String path, - boolean isGroup) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public String getRawInfoString(String world, String entryName, String path, - boolean isGroup) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Set<String> getTracks(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public User getUserObject(String world, String name) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Collection<User> getUsers(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Set<String> getWorlds() { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public boolean has(String world, String playerName, String permission) { - if (permission == null || permission.isEmpty()) { - return false; - } - if (playerName == null || playerName.isEmpty()) { - GroupManager.logger.severe("A plugin is asking permission '" + permission + "' for a null player... Which plugin does that? Bastards!"); - return false; - } - if (world == null) { - GroupManager.logger.warning("The player " + playerName + " has a null world? Treating as default world!"); - return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().permission(playerName, permission); - } - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().permission(playerName, permission); - } - - @Override - public boolean inGroup(String world, String user, String groupWorld, String group) { - return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(user, group); - } - - @Override - public boolean inSingleGroup(String world, String user, String group) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public boolean inSingleGroup(String world, String user, String groupWorld, String group) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public boolean permission(String world, String name, String node) { - return has(world, name, node); - } - - @Override - public Group safeGetGroup(String world, String name) throws Exception { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public User safeGetUser(String world, String name) throws Exception { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void save(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void saveAll() { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public Collection<Group> getGroups(String world) { - throw new UnsupportedOperationException("Not supported yet."); - } - - //@Override - public Group getPrimaryGroupObject(String arg0, String arg1) { - throw new UnsupportedOperationException("Not supported yet."); - } +public class NijikoPermissionsProxy extends PermissionHandler +{ + GroupManager plugin; + + public NijikoPermissionsProxy(GroupManager plugin) + { + super(); + this.plugin = plugin; + } + + @Override + public void addGroupPermission(String world, String group, String node) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void removeGroupPermission(String world, String group, String node) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addGroupInfo(String world, String group, String node, Object data) + { + plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().addGroupInfo(group, node, data); + } + + @Override + public void removeGroupInfo(String world, String group, String node) + { + plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().removeGroupInfo(group, node); + } + + @Override + public void addUserPermission(String world, String user, String node) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void removeUserPermission(String world, String user, String node) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addUserInfo(String world, String user, String node, Object data) + { + plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().addUserInfo(user, node, data); + } + + @Override + public void removeUserInfo(String world, String user, String node) + { + plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().removeUserInfo(user, node); + } + + @Deprecated + public void removeUserInfo(String user, String node) + { + plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().removeUserInfo(user, node); + } + + @Deprecated + public void addGroupPermission(String group, String node) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Deprecated + public void removeGroupPermission(String group, String node) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Deprecated + public void addGroupInfo(String group, String node, Object data) + { + plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().addGroupInfo(group, node, data); + } + + @Deprecated + public void removeGroupInfo(String group, String node) + { + plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().removeGroupInfo(group, node); + } + + @Deprecated + public void addUserPermission(String user, String node) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Deprecated + public void removeUserPermission(String user, String node) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Deprecated + public void addUserInfo(String user, String node, Object data) + { + plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().addUserInfo(user, node, data); + } + + @Override + public void setDefaultWorld(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Deprecated + public void setDirectory(File directory) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean loadWorld(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void forceLoadWorld(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean checkWorld(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void load() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void reload() + { + plugin.getWorldsHolder().reloadAll(); + //throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean reload(String world) + { + plugin.getWorldsHolder().reloadWorld(world); + return true; + } + + @Override + public boolean has(Player player, String permission) + { + //throw new UnsupportedOperationException("Not supported yet."); + return permission(player, permission); + } + + @Override + public boolean permission(Player player, String permission) + { + //throw new UnsupportedOperationException("Not supported yet."); + if (permission == null || permission.equals("")) + { + return false; + } + if (player == null) + { + GroupManager.logger.severe("A plugin is asking permission '" + permission + "' for a null player... Which plugin does that? Bastards!"); + return false; + } + if (player.getWorld() == null) + { + GroupManager.logger.warning("The player " + player.getName() + " has a null world? Treating as default world!"); + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().has(player, permission); + } + return plugin.getWorldsHolder().getWorldData(player.getWorld().getName()).getPermissionsHandler().has(player, permission); + } + + @Override + public String getGroupRawPrefix(String world, String group) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group); + } + + @Override + public String getGroupRawSuffix(String world, String group) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group); + } + + @Override + public String getUserPrefix(String world, String user) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPrefix(user); + } + + @Override + public String getUserSuffix(String world, String user) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserSuffix(user); + } + + @Override + public String getGroup(String world, String user) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(user); + } + + @Override + public String getPrimaryGroup(String world, String user) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(user); + } + + @Override + public boolean canUserBuild(String world, String user) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canUserBuild(user); + } + + @Deprecated + public String getGroup(String name) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroup(name); + } + + @Override + public String[] getGroups(String world, String name) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroups(name); + } + + @Override + public boolean inGroup(String world, String name, String group) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(name, group); + } + + @Deprecated + public boolean inGroup(String name, String group) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().inGroup(name, group); + } + + @Override + public String getGroupPrefix(String world, String group) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group); + } + + @Deprecated + public String getGroupPrefix(String group) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPrefix(group); + } + + @Override + public String getGroupSuffix(String world, String group) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group); + } + + @Deprecated + public String getGroupSuffix(String group) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupSuffix(group); + } + + @Override + public boolean canGroupBuild(String world, String group) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canGroupBuild(group); + } + + @Deprecated + public boolean canGroupBuild(String group) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().canGroupBuild(group); + } + + @Override + public String getGroupPermissionString(String world, String group, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionString(group, permission); + } + + @Deprecated + public String getGroupPermissionString(String group, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionString(group, permission); + } + + @Override + public int getGroupPermissionInteger(String world, String group, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionInteger(group, permission); + } + + @Deprecated + public int getGroupPermissionInteger(String group, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionInteger(group, permission); + } + + @Override + public boolean getGroupPermissionBoolean(String world, String group, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionBoolean(group, permission); + } + + @Deprecated + public boolean getGroupPermissionBoolean(String group, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionBoolean(group, permission); + } + + @Override + public double getGroupPermissionDouble(String world, String group, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionDouble(group, permission); + } + + @Deprecated + public double getGroupPermissionDouble(String group, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionDouble(group, permission); + } + + @Override + public String getUserPermissionString(String world, String name, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionString(name, permission); + } + + @Deprecated + public String getUserPermissionString(String name, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionString(name, permission); + } + + @Override + public int getUserPermissionInteger(String world, String name, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionInteger(name, permission); + } + + @Deprecated + public int getUserPermissionInteger(String name, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionInteger(name, permission); + } + + @Override + public boolean getUserPermissionBoolean(String world, String name, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionBoolean(name, permission); + } + + @Deprecated + public boolean getUserPermissionBoolean(String name, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionBoolean(name, permission); + } + + @Override + public double getUserPermissionDouble(String world, String name, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionDouble(name, permission); + } + + @Deprecated + public double getUserPermissionDouble(String name, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionDouble(name, permission); + } + + @Override + public String getPermissionString(String world, String name, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionString(name, permission); + } + + @Deprecated + public String getPermissionString(String name, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionString(name, permission); + } + + @Override + public int getPermissionInteger(String world, String name, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionInteger(name, permission); + } + + @Deprecated + public int getPermissionInteger(String name, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionInteger(name, permission); + } + + @Override + public boolean getPermissionBoolean(String world, String name, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionBoolean(name, permission); + } + + @Deprecated + public boolean getPermissionBoolean(String name, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionBoolean(name, permission); + } + + @Override + public double getPermissionDouble(String world, String name, String permission) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionDouble(name, permission); + } + + @Deprecated + public double getPermissionDouble(String name, String permission) + { + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionDouble(name, permission); + } + + public void setGM(Plugin p) + { + this.plugin = (GroupManager)p; + } + + @Override + public boolean canGroupRawBuild(String world, String group) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canGroupBuild(group); + } + + @Override + public void closeAll() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int compareWeights(String firstWorld, String first, String secondWorld, String second) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int compareWeights(String world, String first, String second) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Map<String, Set<String>> getAllGroups(String world, String name) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Group getDefaultGroup(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Group getGroupObject(String world, String group) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getGroupProperName(String world, String group) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Boolean getInfoBoolean(String world, String entryName, String path, + boolean isGroup) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoBoolean(entryName, path, isGroup); + } + + @Override + public Boolean getInfoBoolean(String world, String entryName, String path, + boolean isGroup, Comparator<Boolean> comparator) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Double getInfoDouble(String world, String entryName, String path, boolean isGroup) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoDouble(entryName, path, isGroup); + } + + @Override + public Double getInfoDouble(String world, String entryName, String path, + boolean isGroup, Comparator<Double> comparator) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Integer getInfoInteger(String world, String entryName, String path, + boolean isGroup) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoInteger(entryName, path, isGroup); + } + + @Override + public Integer getInfoInteger(String world, String entryName, String path, + boolean isGroup, Comparator<Integer> comparator) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getInfoString(String world, String entryName, String path, boolean isGroup) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoString(entryName, path, isGroup); + } + + @Override + public String getInfoString(String world, String entryName, String path, + boolean isGroup, Comparator<String> comparator) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Boolean getRawInfoBoolean(String world, String entryName, String path, + boolean isGroup) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Double getRawInfoDouble(String world, String entryName, String path, + boolean isGroup) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Integer getRawInfoInteger(String world, String entryName, String path, + boolean isGroup) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getRawInfoString(String world, String entryName, String path, + boolean isGroup) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Set<String> getTracks(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public User getUserObject(String world, String name) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection<User> getUsers(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Set<String> getWorlds() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean has(String world, String playerName, String permission) + { + if (permission == null || permission.isEmpty()) + { + return false; + } + if (playerName == null || playerName.isEmpty()) + { + GroupManager.logger.severe("A plugin is asking permission '" + permission + "' for a null player... Which plugin does that? Bastards!"); + return false; + } + if (world == null) + { + GroupManager.logger.warning("The player " + playerName + " has a null world? Treating as default world!"); + return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().permission(playerName, permission); + } + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().permission(playerName, permission); + } + + @Override + public boolean inGroup(String world, String user, String groupWorld, String group) + { + return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(user, group); + } + + @Override + public boolean inSingleGroup(String world, String user, String group) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean inSingleGroup(String world, String user, String groupWorld, String group) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean permission(String world, String name, String node) + { + return has(world, name, node); + } + + @Override + public Group safeGetGroup(String world, String name) throws Exception + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public User safeGetUser(String world, String name) throws Exception + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void save(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void saveAll() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection<Group> getGroups(String world) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + //@Override + public Group getPrimaryGroupObject(String arg0, String arg1) + { + throw new UnsupportedOperationException("Not supported yet."); + } } |