arlut.csd.ganymede
Interface perm_field

All Superinterfaces:
db_field, java.rmi.Remote
All Known Implementing Classes:
PermissionMatrixDBField

public interface perm_field
extends db_field

Client-side remote interface to the PermissionMatrixDBField class.


Method Summary
 arlut.csd.ganymede.PermMatrix getMatrix()
          Return a serializable, read-only copy of this field's permission matrix
 arlut.csd.ganymede.PermEntry getPerm(arlut.csd.ganymede.Base base)
          Returns a PermEntry object representing this PermMatrix's permissions on the base <base>
 arlut.csd.ganymede.PermEntry getPerm(arlut.csd.ganymede.Base base, arlut.csd.ganymede.BaseField field)
          Returns a PermEntry object representing this PermMatrix's permissions on the field <field> in base <base>
 arlut.csd.ganymede.PermEntry getPerm(short baseID)
          Returns a PermEntry object representing this PermMatrix's permissions on the base <base>
 arlut.csd.ganymede.PermEntry getPerm(short baseID, short fieldID)
          Returns a PermEntry object representing this PermMatrix's permissions on the field <field> in base <base>

 arlut.csd.ganymede.PermMatrix getTemplateMatrix()
          Return a serializable, read-only copy of the maximum permissions that can be set for this field's permission matrix.
 arlut.csd.ganymede.ReturnVal resetPerms()
          Resets the permissions in this PermissionMatrixDBField to the empty set.
 arlut.csd.ganymede.ReturnVal setFieldPerms(short baseID, arlut.csd.ganymede.PermEntry entry, boolean includeBuiltins)
          Sets the permission entry for all fields in base <baseID> to PermEntry <entry>
 arlut.csd.ganymede.ReturnVal setPerm(arlut.csd.ganymede.Base base, arlut.csd.ganymede.BaseField field, arlut.csd.ganymede.PermEntry entry)
          Sets the permission entry for this matrix for base <baseID>, field <fieldID> to PermEntry <entry>.
 arlut.csd.ganymede.ReturnVal setPerm(arlut.csd.ganymede.Base base, arlut.csd.ganymede.PermEntry entry)
          Sets the permission entry for this matrix for base <baseID> to PermEntry <entry>
 arlut.csd.ganymede.ReturnVal setPerm(short baseID, arlut.csd.ganymede.PermEntry entry)
          Sets the permission entry for this matrix for base <baseID> to PermEntry <entry>
 arlut.csd.ganymede.ReturnVal setPerm(short baseID, short fieldID, arlut.csd.ganymede.PermEntry entry)
          Sets the permission entry for this matrix for base <baseID>, field <fieldID> to PermEntry <entry>.
 
Methods inherited from interface arlut.csd.ganymede.db_field
addElement, addElements, containsElement, deleteAllElements, deleteElement, deleteElement, deleteElements, getComment, getElement, getEncodingString, getFieldInfo, getFieldTemplate, getID, getName, getType, getTypeDesc, getValue, getValues, getValueString, isBuiltIn, isDefined, isEditable, isEditInPlace, isVector, isVisible, setElement, setValue, size
 

Method Detail

getMatrix

public arlut.csd.ganymede.PermMatrix getMatrix()
                                        throws java.rmi.RemoteException
Return a serializable, read-only copy of this field's permission matrix

java.rmi.RemoteException

getTemplateMatrix

public arlut.csd.ganymede.PermMatrix getTemplateMatrix()
                                                throws java.rmi.RemoteException

Return a serializable, read-only copy of the maximum permissions that can be set for this field's permission matrix. This matrix is drawn from the union of delegatable roles that the client's adminPersona is a member of.

This method will return null if this perm_field is not associated with an object that is being edited, or if the client is logged into the server as supergash.

java.rmi.RemoteException

getPerm

public arlut.csd.ganymede.PermEntry getPerm(short baseID,
                                            short fieldID)
                                     throws java.rmi.RemoteException

Returns a PermEntry object representing this PermMatrix's permissions on the field <field> in base <base>

If this permissions field has no explicit record for the specified field, the default permissions value for this base will be returned if defined, else getPerm() will return null.

java.rmi.RemoteException
See Also:
PermEntry

getPerm

public arlut.csd.ganymede.PermEntry getPerm(short baseID)
                                     throws java.rmi.RemoteException
Returns a PermEntry object representing this PermMatrix's permissions on the base <base>

java.rmi.RemoteException
See Also:
PermEntry

getPerm

public arlut.csd.ganymede.PermEntry getPerm(arlut.csd.ganymede.Base base,
                                            arlut.csd.ganymede.BaseField field)
                                     throws java.rmi.RemoteException

Returns a PermEntry object representing this PermMatrix's permissions on the field <field> in base <base>

If this permissions field has no explicit record for the specified field, the default permissions value for this base will be returned if defined, else getPerm() will return null.

java.rmi.RemoteException
See Also:
PermEntry

getPerm

public arlut.csd.ganymede.PermEntry getPerm(arlut.csd.ganymede.Base base)
                                     throws java.rmi.RemoteException

Returns a PermEntry object representing this PermMatrix's permissions on the base <base>

java.rmi.RemoteException
See Also:
PermEntry

resetPerms

public arlut.csd.ganymede.ReturnVal resetPerms()
                                        throws java.rmi.RemoteException

Resets the permissions in this PermissionMatrixDBField to the empty set. Used by non-interactive clients to reset the Permission Matrix to a known state before setting permissions.

Returns null on success, or a failure-coded ReturnVal on permissions failure.

java.rmi.RemoteException

setPerm

public arlut.csd.ganymede.ReturnVal setPerm(short baseID,
                                            short fieldID,
                                            arlut.csd.ganymede.PermEntry entry)
                                     throws java.rmi.RemoteException

Sets the permission entry for this matrix for base <baseID>, field <fieldID> to PermEntry <entry>.

This operation will fail if this permission matrix is not associated with a currently checked-out-for-editing PermissionMatrixDBField.

java.rmi.RemoteException
See Also:
PermEntry

setPerm

public arlut.csd.ganymede.ReturnVal setPerm(short baseID,
                                            arlut.csd.ganymede.PermEntry entry)
                                     throws java.rmi.RemoteException

Sets the permission entry for this matrix for base <baseID> to PermEntry <entry>

This operation will fail if this permission matrix is not associated with a currently checked-out-for-editing PermissionMatrixDBField.

java.rmi.RemoteException
See Also:
PermEntry

setPerm

public arlut.csd.ganymede.ReturnVal setPerm(arlut.csd.ganymede.Base base,
                                            arlut.csd.ganymede.BaseField field,
                                            arlut.csd.ganymede.PermEntry entry)
                                     throws java.rmi.RemoteException

Sets the permission entry for this matrix for base <baseID>, field <fieldID> to PermEntry <entry>.

This operation will fail if this permission matrix is not associated with a currently checked-out-for-editing PermissionMatrixDBField.

java.rmi.RemoteException
See Also:
PermEntry

setPerm

public arlut.csd.ganymede.ReturnVal setPerm(arlut.csd.ganymede.Base base,
                                            arlut.csd.ganymede.PermEntry entry)
                                     throws java.rmi.RemoteException

Sets the permission entry for this matrix for base <baseID> to PermEntry <entry>

This operation will fail if this permission matrix is not associated with a currently checked-out-for-editing PermissionMatrixDBField.

java.rmi.RemoteException
See Also:
PermEntry

setFieldPerms

public arlut.csd.ganymede.ReturnVal setFieldPerms(short baseID,
                                                  arlut.csd.ganymede.PermEntry entry,
                                                  boolean includeBuiltins)
                                           throws java.rmi.RemoteException

Sets the permission entry for all fields in base <baseID> to PermEntry <entry>

This operation will fail if this PermissionMatrixDBField is not editable.

Parameters:
includeBuiltins - if true, this will set the permissions for the built-in fields to entry as well as the custom fields.
java.rmi.RemoteException