extends BasicPermission : Permission « Security « Java Tutorial

import java.io.Serializable;
import java.security.BasicPermission;
import java.security.Permission;

class IDPermission extends BasicPermission implements Serializable {
  String id = null;

  public IDPermission(String id) {
    this.id = id;

  public boolean implies(Permission permission) {
    IDPermission bp = (IDPermission) permission;
    return id.equals(bp.id); 

  public String getActions() {
    return "";

  public int hashCode() {
    return id.hashCode();

  public boolean equals(Object obj) {
    if (!(obj instanceof IDPermission)) {
      return false;
    IDPermission bp = (IDPermission) obj;
    return id.equals(bp.id);

public class Main {
  public static void main(String[] argv) throws Exception {
    Permission p1 = new IDPermission("1");

    Permission p2 = new IDPermission("2");
    boolean b = p1.implies(p2); 

    p2 = new IDPermission("3");
    b = p1.implies(p2); 

    p2 = new IDPermission("4");
    b = p1.implies(p2); 

    p2 = new IDPermission("5");
    b = p1.implies(p2);

    p2 = new IDPermission("6");
    b = p1.implies(p2); 

36.29.1.Creating Your Own Permissions
36.29.2.Checking Read/Write Permission for a Directory
36.29.3.Determining If One Permission Implies Another
36.29.4.extends BasicPermission
36.29.5.boolean Permission.implies(Permission permission)
36.29.6.Controlling Access to an Object using a permission
36.29.7.Listing All Permissions Granted to a Loaded Class
36.29.8.grant ability to create and write c:\temp\myfile
36.29.9.grant ability to list files in the user's home directory
36.29.10.grant ability to read any file or directory under c:\temp
36.29.11.grant ability to delete any file or directory in c:\temp\mydir
36.29.12.grant ability to execute (see Runtime.exec()) the file c:\java.exe
36.29.13.grant ability to read and write any file in current directory
36.29.14.grant ability to read any file under current directory
36.29.15.grant ability to read any file
36.29.16.grant ability to write the 'myprop' system properties
36.29.17.grant ability to read and write the 'myprop' system properties
36.29.18.grant ability to read all properties that start with 'myprops.'
36.29.19.grant ability to read all system properties
36.29.20.grant ability to write all system properties
36.29.21.grant ability to read and write all system properties