001 package org.bukkit.permissions; 002 003 /** 004 * Holds information on a permission and which {@link PermissionAttachment} 005 * provides it 006 */ 007 public class PermissionAttachmentInfo { 008 private final Permissible permissible; 009 private final String permission; 010 private final PermissionAttachment attachment; 011 private final boolean value; 012 013 public PermissionAttachmentInfo(Permissible permissible, String permission, PermissionAttachment attachment, boolean value) { 014 if (permissible == null) { 015 throw new IllegalArgumentException("Permissible may not be null"); 016 } else if (permission == null) { 017 throw new IllegalArgumentException("Permissions may not be null"); 018 } 019 020 this.permissible = permissible; 021 this.permission = permission; 022 this.attachment = attachment; 023 this.value = value; 024 } 025 026 /** 027 * Gets the permissible this is attached to 028 * 029 * @return Permissible this permission is for 030 */ 031 public Permissible getPermissible() { 032 return permissible; 033 } 034 035 /** 036 * Gets the permission being set 037 * 038 * @return Name of the permission 039 */ 040 public String getPermission() { 041 return permission; 042 } 043 044 /** 045 * Gets the attachment providing this permission. This may be null for 046 * default permissions (usually parent permissions). 047 * 048 * @return Attachment 049 */ 050 public PermissionAttachment getAttachment() { 051 return attachment; 052 } 053 054 /** 055 * Gets the value of this permission 056 * 057 * @return Value of the permission 058 */ 059 public boolean getValue() { 060 return value; 061 } 062 }