001 /* 002 @license.text@ 003 */ 004 package biz.hammurapi.authorization; 005 006 import java.security.AccessControlException; 007 008 /** 009 * Interface for authorization checks. 010 * @author Pavel Vlasov 011 * @revision $Revision$ 012 */ 013 public interface AuthorizationProvider { 014 015 /** 016 * @param clazz 017 * @param action 018 * @return 019 */ 020 boolean hasClassPermission(Class clazz, String action); 021 022 /** 023 * @param clazz 024 * @param action 025 */ 026 void checkClassPermission(Class clazz, String action) throws AccessControlException; 027 028 /** 029 * @param instance 030 * @param action 031 * @return 032 */ 033 boolean hasInstancePermission(Object instance, String action); 034 035 /** 036 * @param instance 037 * @param action 038 */ 039 void checkInstancePermission(Object instance, String action) throws AccessControlException; 040 041 /** 042 * @param className 043 * @param action 044 * @return 045 */ 046 boolean hasClassPermission(String className, String action); 047 048 /** 049 * @param role Role. 050 * @return True if the provider is in specified role. 051 */ 052 boolean isInRole(Object role); 053 054 }