org.apache.derby.impl.sql.catalog
Class PermissionsCatalogRowFactory

java.lang.Object
  extended by org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
      extended by org.apache.derby.impl.sql.catalog.PermissionsCatalogRowFactory
Direct Known Subclasses:
SYSCOLPERMSRowFactory, SYSPERMSRowFactory, SYSROUTINEPERMSRowFactory, SYSTABLEPERMSRowFactory

abstract class PermissionsCatalogRowFactory
extends CatalogRowFactory


Field Summary
 
Fields inherited from class org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
dvf, heapUUID, indexColumnPositions, indexNames, indexUniqueness, indexUUID, tableUUID
 
Constructor Summary
PermissionsCatalogRowFactory(UUIDFactory uuidf, ExecutionFactory ef, DataValueFactory dvf)
           
 
Method Summary
(package private) abstract  ExecIndexRow buildIndexKeyRow(int indexNumber, PermissionsDescriptor perm)
          Build an index key row from a permission descriptor.
(package private)  java.lang.String getAuthorizationID(ExecRow row, int columnPos)
          Extract an internal authorization ID from a row.
(package private)  DataValueDescriptor getAuthorizationID(java.lang.String value)
           
(package private)  DataValueDescriptor getNullAuthorizationID()
           
(package private) abstract  int orPermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)
          Or a set of permissions in with a row from this catalog table
(package private) abstract  int removePermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)
          Remove a set of permissions from a row from this catalog table
(package private) abstract  void setUUIDOfThePassedDescriptor(ExecRow row, PermissionsDescriptor perm)
          Set the uuid of the passed permission descriptor to the uuid of the row from the system table.
 
Methods inherited from class org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
buildColumnList, buildDescriptor, generateIndexName, getCanonicalHeapName, getCanonicalHeapUUID, getCanonicalIndexUUID, getCanonicalTableUUID, getCatalogName, getCreateHeapProperties, getCreateIndexProperties, getDataValueFactory, getExecutionFactory, getHeapColumnCount, getIndexColumnCount, getIndexColumnPositions, getIndexName, getNumIndexes, getPrimaryKeyIndexNumber, getUUIDFactory, initInfo, isIndexUnique, makeEmptyRow, makeRow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PermissionsCatalogRowFactory

PermissionsCatalogRowFactory(UUIDFactory uuidf,
                             ExecutionFactory ef,
                             DataValueFactory dvf)
Method Detail

getAuthorizationID

DataValueDescriptor getAuthorizationID(java.lang.String value)

getNullAuthorizationID

DataValueDescriptor getNullAuthorizationID()

getAuthorizationID

java.lang.String getAuthorizationID(ExecRow row,
                                    int columnPos)
                              throws StandardException
Extract an internal authorization ID from a row.

Parameters:
row -
columnPos - 1 based
Returns:
The internal authorization ID
Throws:
StandardException

buildIndexKeyRow

abstract ExecIndexRow buildIndexKeyRow(int indexNumber,
                                       PermissionsDescriptor perm)
                                throws StandardException
Build an index key row from a permission descriptor. A key row does not include the RowLocation column.

Parameters:
indexNumber -
perm - a permission descriptor of the appropriate class for this PermissionsCatalogRowFactory class.
Throws:
StandardException - standard error policy

orPermissions

abstract int orPermissions(ExecRow row,
                           PermissionsDescriptor perm,
                           boolean[] colsChanged)
                    throws StandardException
Or a set of permissions in with a row from this catalog table

Parameters:
row - an existing row
perm - a permission descriptor of the appropriate class for this PermissionsCatalogRowFactory class.
colsChanged - An array with one element for each column in row. It is updated to indicate which columns in row were changed
Returns:
The number of columns that were changed.
Throws:
StandardException - standard error policy

removePermissions

abstract int removePermissions(ExecRow row,
                               PermissionsDescriptor perm,
                               boolean[] colsChanged)
                        throws StandardException
Remove a set of permissions from a row from this catalog table

Parameters:
row - an existing row
perm - a permission descriptor of the appropriate class for this PermissionsCatalogRowFactory class.
colsChanged - An array with one element for each column in row. It is updated to indicate which columns in row were changed
Returns:
-1 if there are no permissions left in the row, otherwise the number of columns that were changed.
Throws:
StandardException - standard error policy

setUUIDOfThePassedDescriptor

abstract void setUUIDOfThePassedDescriptor(ExecRow row,
                                           PermissionsDescriptor perm)
                                    throws StandardException
Set the uuid of the passed permission descriptor to the uuid of the row from the system table. DataDictionary will make this call before calling the dependency manager to send invalidation messages to the objects dependent on the permission descriptor's uuid.

Parameters:
row - The row from the system table for the passed permission descriptor
perm - Permission descriptor
Throws:
StandardException

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.