package net.sourceforge.pain.logic.event.console.command; import net.sourceforge.pain.logic.event.console.*; import java.util.*; public abstract class GrantedCommand extends CommandHandler { public boolean isAccessible() { if (!super.isAccessible()) { return false; } final Set grantedCommands = player.getGrantedCommands(); if (grantedCommands.contains("_all")) {// implementor mark return true; } String grantedCommandClass = getClass().getName().substring(ConsoleInputEvent.COMMAND_PACKAGE.length()); if (grantedCommands.contains(grantedCommandClass)) { return true; } return false; } /** Empty. subclasses should override this method to make some specific work here*/ public void onGrantAdded() throws Exception { } /** Empty. subclasses should override this method to make some specific work here*/ public void onGrantRemoved() throws Exception { } }