package org.bukkit.permissions;
/**
* Holds information on a permission and which {@link PermissionAttachment}
* provides it
*/
public class PermissionAttachmentInfo
{
private final Permissible permissible;
private final String permission;
private final PermissionAttachment attachment;
private final boolean value;
public PermissionAttachmentInfo(Permissible permissible, String permission, PermissionAttachment attachment, boolean value)
{
if(permissible == null)
{
throw new IllegalArgumentException("Permissible may not be null");
}
else if(permission == null)
{
throw new IllegalArgumentException("Permissions may not be null");
}
this.permissible = permissible;
this.permission = permission;
this.attachment = attachment;
this.value = value;
}
/**
* Gets the permissible this is attached to
*
* @return Permissible this permission is for
*/
public Permissible getPermissible()
{
return permissible;
}
/**
* Gets the permission being set
*
* @return Name of the permission
*/
public String getPermission()
{
return permission;
}
/**
* Gets the attachment providing this permission. This may be null for
* default permissions (usually parent permissions).
*
* @return Attachment
*/
public PermissionAttachment getAttachment()
{
return attachment;
}
/**
* Gets the value of this permission
*
* @return Value of the permission
*/
public boolean getValue()
{
return value;
}
}