Top Description Fields Constructors Methods
org.apache.derby.iapi.sql.dictionary

public Class PermDescriptor

extends PermissionsDescriptor
implements Provider
Class Inheritance
All Implemented Interfaces
org.apache.derby.iapi.sql.depend.Provider, org.apache.derby.catalog.Dependable
Imports
org.apache.derby.catalog.UUID, .DependableFinder, .Dependable, org.apache.derby.shared.common.error.StandardException, org.apache.derby.shared.common.reference.SQLState, org.apache.derby.shared.common.sanity.SanityManager, org.apache.derby.iapi.services.io.StoredFormatIds, org.apache.derby.iapi.sql.depend.Provider

This class describes rows in the SYS.SYSPERMS system table, which keeps track of the permissions that have been granted but not revoked.

Field Summary

Modifier and TypeField and Description
public static final String
private boolean
private String
private String
private UUID
public static final String
public static final String
public static final String
Inherited from org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor:
oid

Constructor Summary

AccessConstructor and Description
public
PermDescriptor(DataDictionary
data dictionary
dataDictionary
,
UUID
unique identification in time and space of this perm descriptor
permUUID
,
String
E.g., SEQUENCE_TYPE
objectType
,
UUID
Unique id of the object being protected
permObjectId
,
String
E.g., USAGE_PRIV
permission
,
String
Authorization id which confers the privilege
grantor
,
String
Authorization id which receives the privilege
grantee
,
boolean
True if the privilege can be granted onwards
isGrantable
)

Constructor

public

Method Summary

Modifier and TypeMethod and Description
public boolean
checkOwner(String authorizationId)

Implements abstract org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor.checkOwner.

This method checks if the passed authorization id is same as the owner of the object on which this permission is defined.

public boolean

Returns:

true iff the key part of this perm descriptor equals the key part of another perm descriptor.
equals
(Object
the reference object with which to compare.
other
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public int
public String

Returns:

char The provider's type.
getClassType
()

Implements org.apache.derby.catalog.Dependable.getClassType.

Get the provider's type.

public DependableFinder

Returns:

the stored form of this provider
getDependableFinder
()

Implements org.apache.derby.catalog.Dependable.getDependableFinder.

Get an object which can be written to disk and which, when read from disk, will find or reconstruct this in-memory Dependable.

public String

Returns:

String The name of this provider.
getObjectName
()

Implements org.apache.derby.catalog.Dependable.getObjectName.

Return the name of this Provider.

public String
public String
public UUID
public static PrivilegedSQLObject
getProtectedObject(DataDictionary
Metadata
dd
,
UUID
Unique handle on the protected object
objectID
,
String
Type of the object
objectType
)

Get the protected object.

public int

Returns:

the hashCode for the key part of this permissions descriptor
hashCode
()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public boolean
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor:
clonegetGranteegetGrantorgetObjectIDgetUUIDisPersistentkeyEqualskeyHashCodesetGranteesetUUID

Field Detail

AGGREGATE_TYPEback to summary
public static final String AGGREGATE_TYPE
grantableback to summary
private boolean grantable
objectTypeback to summary
private String objectType
permissionback to summary
private String permission
permObjectIdback to summary
private UUID permObjectId
SEQUENCE_TYPEback to summary
public static final String SEQUENCE_TYPE
UDT_TYPEback to summary
public static final String UDT_TYPE
USAGE_PRIVback to summary
public static final String USAGE_PRIV

Constructor Detail

PermDescriptorback to summary
public PermDescriptor(DataDictionary dataDictionary, UUID permUUID, String objectType, UUID permObjectId, String permission, String grantor, String grantee, boolean isGrantable)

Constructor

Parameters
dataDictionary:DataDictionary

data dictionary

permUUID:UUID

unique identification in time and space of this perm descriptor

objectType:String

E.g., SEQUENCE_TYPE

permObjectId:UUID

Unique id of the object being protected

permission:String

E.g., USAGE_PRIV

grantor:String

Authorization id which confers the privilege

grantee:String

Authorization id which receives the privilege

isGrantable:boolean

True if the privilege can be granted onwards

PermDescriptorback to summary
public PermDescriptor(DataDictionary dd, UUID permUUID) throws StandardException

Method Detail

checkOwnerback to summary
public boolean checkOwner(String authorizationId) throws StandardException

Implements abstract org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor.checkOwner.

Doc from org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor.checkOwner.

This method checks if the passed authorization id is same as the owner of the object on which this permission is defined. This method gets called by create view/constraint/trigger to see if this permission needs to be saved in dependency system for the view/constraint/trigger. If the same user is the owner of the the object being accessed and the newly created object, then no need to keep this privilege dependency

Returns:boolean

boolean If passed authorization id is owner of the table

See Also
PermissionsDescriptor#checkOwner
equalsback to summary
public boolean equals(Object other)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
other:Object

the reference object with which to compare.

Returns:boolean

true iff the key part of this perm descriptor equals the key part of another perm descriptor.

getCatalogNumberback to summary
public int getCatalogNumber()

Implements abstract org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor.getCatalogNumber.

getClassTypeback to summary
public String getClassType()

Implements org.apache.derby.catalog.Dependable.getClassType.

Get the provider's type.

Returns:String

char The provider's type.

getDependableFinderback to summary
public DependableFinder getDependableFinder()

Implements org.apache.derby.catalog.Dependable.getDependableFinder.

Doc from org.apache.derby.catalog.Dependable.getDependableFinder.

Get an object which can be written to disk and which, when read from disk, will find or reconstruct this in-memory Dependable.

Returns:DependableFinder

the stored form of this provider

See Also
Dependable#getDependableFinder
getObjectNameback to summary
public String getObjectName()

Implements org.apache.derby.catalog.Dependable.getObjectName.

Return the name of this Provider. (Useful for errors.)

Returns:String

String The name of this provider.

getObjectTypeback to summary
public String getObjectType()
getPermissionback to summary
public String getPermission()
getPermObjectIdback to summary
public UUID getPermObjectId()
getProtectedObjectback to summary
public static PrivilegedSQLObject getProtectedObject(DataDictionary dd, UUID objectID, String objectType) throws StandardException

Get the protected object.

Parameters
dd:DataDictionary

Metadata

objectID:UUID

Unique handle on the protected object

objectType:String

Type of the object

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

the hashCode for the key part of this permissions descriptor

isGrantableback to summary
public boolean isGrantable()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object