mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-10-18 01:15:10 +02:00
9c052b5178
to populate all registered superperms.
241 lines
6.6 KiB
Java
241 lines
6.6 KiB
Java
package org.anjocaido.groupmanager.permissions;
|
|
|
|
//import java.util.Collection;
|
|
//import java.util.Map;
|
|
//import java.util.Set;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
|
|
import org.anjocaido.groupmanager.data.Group;
|
|
//import org.anjocaido.groupmanager.data.User;
|
|
import org.bukkit.entity.Player;
|
|
|
|
/**
|
|
* Made by Nijikokun. Changed by Gabriel Couto
|
|
*
|
|
* This class is intended to *read* permissions from a single world.
|
|
*
|
|
* @author Nijikokun
|
|
* @author Gabriel Couto
|
|
* @author ElgarL
|
|
*/
|
|
public abstract class PermissionsReaderInterface {
|
|
|
|
/**
|
|
*
|
|
* @param player
|
|
* @param string
|
|
* @return true if has permission
|
|
*/
|
|
public abstract boolean has(Player player, String string);
|
|
|
|
/**
|
|
*
|
|
* @param player
|
|
* @param string
|
|
* @return true if has permission
|
|
*/
|
|
public abstract boolean permission(Player player, String string);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @return group name for this player.
|
|
*/
|
|
public abstract String getGroup(String userName);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param groupName
|
|
* @return true if in group
|
|
*/
|
|
public abstract boolean inGroup(String userName, String groupName);
|
|
|
|
/**
|
|
*
|
|
* @param groupName
|
|
* @return String of prefix
|
|
*/
|
|
public abstract String getGroupPrefix(String groupName);
|
|
|
|
/**
|
|
*
|
|
* @param groupName
|
|
* @return String of suffix
|
|
*/
|
|
public abstract String getGroupSuffix(String groupName);
|
|
|
|
/**
|
|
*
|
|
* @param groupName
|
|
* @return true if can build
|
|
*/
|
|
public abstract boolean canGroupBuild(String groupName);
|
|
|
|
/**
|
|
*
|
|
* @param groupName
|
|
* @param node
|
|
* @return String value
|
|
*/
|
|
public abstract String getGroupPermissionString(String groupName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param groupName
|
|
* @param node
|
|
* @return integer value
|
|
*/
|
|
public abstract int getGroupPermissionInteger(String groupName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param groupName
|
|
* @param node
|
|
* @return boolean value
|
|
*/
|
|
public abstract boolean getGroupPermissionBoolean(String groupName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param groupName
|
|
* @param node
|
|
* @return double value
|
|
*/
|
|
public abstract double getGroupPermissionDouble(String groupName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param node
|
|
* @return String value
|
|
*/
|
|
public abstract String getUserPermissionString(String userName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param node
|
|
* @return integer value
|
|
*/
|
|
public abstract int getUserPermissionInteger(String userName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param node
|
|
* @return boolean value
|
|
*/
|
|
public abstract boolean getUserPermissionBoolean(String userName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param node
|
|
* @return double value
|
|
*/
|
|
public abstract double getUserPermissionDouble(String userName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param node
|
|
* @return String value
|
|
*/
|
|
public abstract String getPermissionString(String userName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param node
|
|
* @return integer value
|
|
*/
|
|
public abstract int getPermissionInteger(String userName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param node
|
|
* @return boolean value
|
|
*/
|
|
public abstract boolean getPermissionBoolean(String userName, String node);
|
|
|
|
/**
|
|
*
|
|
* @param userName
|
|
* @param node
|
|
* @return double value
|
|
*/
|
|
public abstract double getPermissionDouble(String userName, String node);
|
|
|
|
/////////////////////////////
|
|
/**
|
|
* 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 user Player's name
|
|
* @return Player's prefix
|
|
*/
|
|
public abstract String getUserPrefix(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 user Player's name
|
|
* @return Player's suffix
|
|
*/
|
|
public abstract String getUserSuffix(String user);
|
|
|
|
/**
|
|
* 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.
|
|
* @return Group object representing default world, or null if it doesn't exist or is not defined.
|
|
*/
|
|
public abstract Group getDefaultGroup();
|
|
|
|
/**
|
|
* Gets a array of the names of all parent groups in the same 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 name);
|
|
|
|
public abstract String getInfoString(String entryName, String path, boolean isGroup);
|
|
//public abstract String getInfoString(String entryName, String path, boolean isGroup, Comparator<String> comparator);
|
|
|
|
public abstract int getInfoInteger(String entryName, String path, boolean isGroup);
|
|
//public abstract int getInfoInteger(String entryName, String path, boolean isGroup, Comparator<Integer> comparator);
|
|
|
|
/**
|
|
* Gets a double from the Info node without inheritance.
|
|
* @param entryName
|
|
* @param path
|
|
* @param isGroup
|
|
* @return -1 if not found
|
|
*/
|
|
public abstract double getInfoDouble(String entryName, String path, boolean isGroup);
|
|
//public abstract double getInfoDouble(String entryName, String path, boolean isGroup, Comparator<Double> comparator);
|
|
|
|
public abstract boolean getInfoBoolean(String entryName, String path, boolean isGroup);
|
|
//public abstract boolean getInfoBoolean(String entryName, String path, boolean isGroup, Comparator<Boolean> comparator);
|
|
|
|
public abstract void addUserInfo(String name, String path, Object data);
|
|
|
|
public abstract void removeUserInfo(String name, String path);
|
|
|
|
public abstract void addGroupInfo(String name, String path, Object data);
|
|
|
|
public abstract void removeGroupInfo(String name, String path);
|
|
//////////////////////////////
|
|
|
|
public abstract List<String> getAllPlayersPermissions(String userName);
|
|
|
|
public abstract Set<String> getAllPlayersPermissions(String userName, Boolean includeChildren);
|
|
}
|