Class StatementPermission
java.lang.Object
org.apache.derby.iapi.sql.dictionary.StatementPermission
- Direct Known Subclasses:
StatementGenericPermission
,StatementRolePermission
,StatementRoutinePermission
,StatementSchemaPermission
,StatementTablePermission
This class describes a permission require by a statement.
-
Constructor Summary
ConstructorsConstructorDescriptionRestrict implementations to this package to reduce risk of external code spoofing the GRANT/REVOKE system by providing its own fake implementations. -
Method Summary
Modifier and TypeMethodDescriptionabstract void
check
(LanguageConnectionContext lcc, boolean forGrant, Activation activation) void
genericCheck
(LanguageConnectionContext lcc, boolean forGrant, Activation activation, String privilegeType) Generic logic called by check() for USAGE and EXECUTE privileges.Get the type of the privileged object.abstract PermissionsDescriptor
getPermissionDescriptor
(String authid, DataDictionary dd) Get the PermissionsDescriptor for the passed authorization id for this object.Get the privileged object associated with this permission.boolean
Return true if the passed in permission matches the one required by this StatementPermission.
-
Constructor Details
-
StatementPermission
StatementPermission()Restrict implementations to this package to reduce risk of external code spoofing the GRANT/REVOKE system by providing its own fake implementations.
-
-
Method Details
-
check
public abstract void check(LanguageConnectionContext lcc, boolean forGrant, Activation activation) throws StandardException - Parameters:
lcc
- LanguageConnectionContextforGrant
-activation
- activation for statement needing check- Throws:
StandardException
- if the permission has not been granted
-
getPermissionDescriptor
public abstract PermissionsDescriptor getPermissionDescriptor(String authid, DataDictionary dd) throws StandardException Get the PermissionsDescriptor for the passed authorization id for this object. This method gets called during the execution phase of create view/constraint/trigger. The return value of this method is saved in dependency system to keep track of views/constraints/triggers dependencies on required permissions. This happens in execution phase after it has been established that passed authorization id has all the permissions it needs to create that view/constraint/trigger. Which means that we can only get to writing into dependency system once all the required privileges are confirmed.- Parameters:
authid
- AuthorizationIddd
- DataDictionary- Returns:
- PermissionsDescriptor The PermissionsDescriptor for the passed authorization id on this object
- Throws:
StandardException
-
isCorrectPermission
Return true if the passed in permission matches the one required by this StatementPermission.- Throws:
StandardException
-
getPrivilegedObject
Get the privileged object associated with this permission.- Throws:
StandardException
-
getObjectType
Get the type of the privileged object. -
genericCheck
public void genericCheck(LanguageConnectionContext lcc, boolean forGrant, Activation activation, String privilegeType) throws StandardException Generic logic called by check() for USAGE and EXECUTE privileges. Throws an exception if the correct permission cannot be found.- Throws:
StandardException
-