package com.earth2me.essentials.perm;
import java.util.Arrays;
import java.util.List;
import org.bukkit.entity.Player;
import ru.tehkode.permissions.PermissionManager;
import ru.tehkode.permissions.PermissionUser;
import ru.tehkode.permissions.bukkit.PermissionsEx;
public class PermissionsExHandler extends SuperpermsHandler
{
private final transient PermissionManager manager;
public PermissionsExHandler()
{
manager = PermissionsEx.getPermissionManager();
}
@Override
public String getGroup(final Player base)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return null;
}
String[] groupsNames = user.getGroupsNames();
if (groupsNames == null || groupsNames.length == 0)
{
return null;
}
return groupsNames[0];
}
@Override
public List<String> getGroups(final Player base)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return null;
}
String[] groupsNames = user.getGroupsNames();
if (groupsNames == null)
{
return null;
}
return Arrays.asList(groupsNames);
}
@Override
public boolean canBuild(final Player base, final String group)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return false;
}
return user.getOptionBoolean("build", base.getWorld().getName(), false);
}
@Override
public boolean inGroup(final Player base, final String group)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return false;
}
return user.inGroup(group);
}
@Override
public boolean hasPermission(final Player base, final String node)
{
return super.hasPermission(base, node);
}
@Override
public String getPrefix(final Player base)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return null;
}
return user.getPrefix(base.getWorld().getName());
}
@Override
public String getSuffix(final Player base)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return null;
}
return user.getSuffix(base.getWorld().getName());
}
}