戻り時に問題が発生するthis.permission.contains(permission);私のプログラムでヌルポインタの例外を助ける
package sef.module15.activity;
import java.util.HashSet;
import java.util.Set;
public class PermissionList implements Permissable {
private Set<Permission> permission;
/**
* Creates a permission object and provides an identifier for it
*
* @param permissionID
*/
public PermissionList(String permissionID) {
if (permissionID == null) {
this.permission = new HashSet<Permission>();
}
}
public Set<Permission> getPermission() {
return permission;
}
public void removePermission(Permission... permission) {
this.permission.remove(permission);
}
public void setPermission(Permission... permission) {
if (permission == null) {
setPermission(permission);
}
}
public boolean isPermissable(Permission permission) {
return this.permission.contains(permission);
}
}
ここpermissable.java
package sef.module15.activity;
import java.util.Set;
public interface Permissable {
public void setPermission(Permission... permission);
public void removePermission(Permission... permission);
public Set<Permission> getPermission();
public boolean isPermissable(Permission permission);
}
と相続人permission.java
package sef.module15.activity;
public enum Permission {
READ,
WRITE,
CREATE,
DELETE,
EXECUTE;
}
「呼び出しコード」とは、つまり、このクラスとそのメソッドをどのように呼び出すかです。 – PhD
また、permissionがnullの場合、setPermissionはやや再帰的に見えます。 –
クラスとそのメソッドを呼び出す人が更新されました – Rebel