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

java.lang.Object
  extended by org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
      extended by org.apache.derby.impl.sql.catalog.PermissionsCatalogRowFactory
          extended by org.apache.derby.impl.sql.catalog.SYSPERMSRowFactory

public class SYSPERMSRowFactory
extends PermissionsCatalogRowFactory

Factory for creating a SYSPERMS row.


Field Summary
static int GRANTEE_OBJECTID_GRANTOR_INDEX_NUM
           
private static int[][] indexColumnPositions
           
static int PERMS_OBJECTID_IDX_NUM
           
static int PERMS_UUID_IDX_NUM
           
private static int SYSPERMS_COLUMN_COUNT
           
private static int SYSPERMS_GRANTEE
           
private static int SYSPERMS_GRANTOR
           
private static int SYSPERMS_IS_GRANTABLE
           
private static int SYSPERMS_OBJECTID
           
private static int SYSPERMS_OBJECTTYPE
           
private static int SYSPERMS_PERMISSION
           
private static int SYSPERMS_PERMISSIONID
           
private static java.lang.String TABLENAME_STRING
           
private static boolean[] uniqueness
           
private static java.lang.String[] uuids
           
 
Fields inherited from class org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
dvf, heapUUID, indexNames, indexUniqueness, indexUUID, tableUUID
 
Constructor Summary
SYSPERMSRowFactory(UUIDFactory uuidf, ExecutionFactory ef, DataValueFactory dvf)
          Constructor
 
Method Summary
 SystemColumn[] buildColumnList()
          Builds a list of columns suitable for creating this Catalog.
 TupleDescriptor buildDescriptor(ExecRow row, TupleDescriptor parentTupleDescriptor, DataDictionary dd)
          Make an Tuple Descriptor out of a SYSPERMS row
 ExecIndexRow buildIndexKeyRow(int indexNumber, PermissionsDescriptor perm)
          builds an index key row given for a given index number.
 int getPrimaryKeyIndexNumber()
          Get the index number for the primary key index on this catalog.
 ExecRow makeRow(TupleDescriptor td, TupleDescriptor parent)
          Make a SYSPERMS row
 int orPermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)
          Or a set of permissions in with a row from this catalog table
 int removePermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)
          Remove a set of permissions from a row from this catalog table
(package private)  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.impl.sql.catalog.PermissionsCatalogRowFactory
getAuthorizationID, getAuthorizationID, getNullAuthorizationID
 
Methods inherited from class org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
generateIndexName, getCanonicalHeapName, getCanonicalHeapUUID, getCanonicalIndexUUID, getCanonicalTableUUID, getCatalogName, getCreateHeapProperties, getCreateIndexProperties, getDataValueFactory, getExecutionFactory, getHeapColumnCount, getIndexColumnCount, getIndexColumnPositions, getIndexName, getNumIndexes, getUUIDFactory, initInfo, isIndexUnique, makeEmptyRow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TABLENAME_STRING

private static final java.lang.String TABLENAME_STRING
See Also:
Constant Field Values

SYSPERMS_COLUMN_COUNT

private static final int SYSPERMS_COLUMN_COUNT
See Also:
Constant Field Values

SYSPERMS_PERMISSIONID

private static final int SYSPERMS_PERMISSIONID
See Also:
Constant Field Values

SYSPERMS_OBJECTTYPE

private static final int SYSPERMS_OBJECTTYPE
See Also:
Constant Field Values

SYSPERMS_OBJECTID

private static final int SYSPERMS_OBJECTID
See Also:
Constant Field Values

SYSPERMS_PERMISSION

private static final int SYSPERMS_PERMISSION
See Also:
Constant Field Values

SYSPERMS_GRANTOR

private static final int SYSPERMS_GRANTOR
See Also:
Constant Field Values

SYSPERMS_GRANTEE

private static final int SYSPERMS_GRANTEE
See Also:
Constant Field Values

SYSPERMS_IS_GRANTABLE

private static final int SYSPERMS_IS_GRANTABLE
See Also:
Constant Field Values

indexColumnPositions

private static final int[][] indexColumnPositions

PERMS_UUID_IDX_NUM

public static final int PERMS_UUID_IDX_NUM
See Also:
Constant Field Values

PERMS_OBJECTID_IDX_NUM

public static final int PERMS_OBJECTID_IDX_NUM
See Also:
Constant Field Values

GRANTEE_OBJECTID_GRANTOR_INDEX_NUM

public static final int GRANTEE_OBJECTID_GRANTOR_INDEX_NUM
See Also:
Constant Field Values

uniqueness

private static final boolean[] uniqueness

uuids

private static final java.lang.String[] uuids
Constructor Detail

SYSPERMSRowFactory

SYSPERMSRowFactory(UUIDFactory uuidf,
                   ExecutionFactory ef,
                   DataValueFactory dvf)
Constructor

Parameters:
uuidf - UUIDFactory
ef - ExecutionFactory
dvf - DataValueFactory
Method Detail

buildIndexKeyRow

public ExecIndexRow buildIndexKeyRow(int indexNumber,
                                     PermissionsDescriptor perm)
                              throws StandardException
builds an index key row given for a given index number.

Specified by:
buildIndexKeyRow in class PermissionsCatalogRowFactory
perm - a permission descriptor of the appropriate class for this PermissionsCatalogRowFactory class.
Throws:
StandardException - standard error policy

getPrimaryKeyIndexNumber

public int getPrimaryKeyIndexNumber()
Description copied from class: CatalogRowFactory
Get the index number for the primary key index on this catalog.

Overrides:
getPrimaryKeyIndexNumber in class CatalogRowFactory
Returns:
a 0-based number

orPermissions

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

Specified by:
orPermissions in class PermissionsCatalogRowFactory
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

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

Specified by:
removePermissions in class PermissionsCatalogRowFactory
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

void setUUIDOfThePassedDescriptor(ExecRow row,
                                  PermissionsDescriptor perm)
                            throws StandardException
Description copied from class: PermissionsCatalogRowFactory
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.

Specified by:
setUUIDOfThePassedDescriptor in class PermissionsCatalogRowFactory
Parameters:
row - The row from the system table for the passed permission descriptor
perm - Permission descriptor
Throws:
StandardException
See Also:
PermissionsCatalogRowFactory.setUUIDOfThePassedDescriptor(org.apache.derby.iapi.sql.execute.ExecRow, org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor)

makeRow

public ExecRow makeRow(TupleDescriptor td,
                       TupleDescriptor parent)
                throws StandardException
Make a SYSPERMS row

Overrides:
makeRow in class CatalogRowFactory
Parameters:
td - a permission descriptor
parent - unused
Returns:
Row suitable for inserting into SYSPERMS.
Throws:
StandardException - thrown on failure

buildDescriptor

public TupleDescriptor buildDescriptor(ExecRow row,
                                       TupleDescriptor parentTupleDescriptor,
                                       DataDictionary dd)
                                throws StandardException
Make an Tuple Descriptor out of a SYSPERMS row

Specified by:
buildDescriptor in class CatalogRowFactory
Parameters:
row - a SYSPERMS row
parentTupleDescriptor - unused
dd - dataDictionary
Returns:
a descriptor equivalent to a SYSPERMS row
Throws:
StandardException - thrown on failure

buildColumnList

public SystemColumn[] buildColumnList()
                               throws StandardException
Builds a list of columns suitable for creating this Catalog.

Specified by:
buildColumnList in class CatalogRowFactory
Returns:
array of SystemColumn suitable for making this catalog.
Throws:
StandardException

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

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