All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bukkit.permissions.PermissionAttachmentInfo Maven / Gradle / Ivy

There is a newer version: 2.4.0
Show newest version
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;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy