Security Java

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) {
    super(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); 
  }
}