arlut.csd.ganymede
Class taskCustom

java.lang.Object
  |
  +--arlut.csd.ganymede.DBObject
        |
        +--arlut.csd.ganymede.DBEditObject
              |
              +--arlut.csd.ganymede.taskCustom
All Implemented Interfaces:
db_object, FieldType, ObjectStatus, java.rmi.Remote, SchemaConstants

public class taskCustom
extends DBEditObject
implements SchemaConstants

This class customizes DBEditObject for handling fields in the Ganymede server's task object type.


Field Summary
(package private) static arlut.csd.ganymede.QueryResult choiceList
           
 
Fields inherited from class arlut.csd.ganymede.DBEditObject
ADDELEMENT, ADDELEMENTS, debug, DELELEMENT, DELELEMENTS, deleting, editset, FIRSTOP, LASTOP, maxDate, minDate, original, SETELEMENT, SETPASSAPACHEMD5, SETPASSCRYPT, SETPASSMD5, SETPASSPLAIN, SETPASSWINHASHES, SETVAL, status, stored
 
Fields inherited from class arlut.csd.ganymede.DBObject
debugEmit, fieldAry, gSession, myInvid, next, objectBase, permCacheAry, shadowObject
 
Fields inherited from interface arlut.csd.ganymede.SchemaConstants
BackLinksField, ContainerField, CreationDateField, CreatorField, EventBase, EventDescription, EventExternalMail, EventMailBoolean, EventMailOwners, EventMailToSelf, EventName, EventToken, ExpirationField, FinalBase, FinalSystemField, ModificationDateField, ModifierField, NotesField, ObjectEventBase, ObjectEventDescription, ObjectEventExternalMail, ObjectEventMailOwners, ObjectEventMailToSelf, ObjectEventName, ObjectEventObjectName, ObjectEventObjectType, ObjectEventToken, OwnerBase, OwnerCcAdmins, OwnerExternalMail, OwnerListField, OwnerMembersField, OwnerNameField, OwnerObjectsOwned, OwnerSupergash, PersonaAdminConsole, PersonaAdminPower, PersonaAssocUser, PersonaBase, PersonaGroupsField, PersonaLabelField, PersonaMailAddr, PersonaMonitorObj, PersonaNameField, PersonaPasswordField, PersonaPrivs, PersonaSupergashObj, RemovalField, RoleBase, RoleDefaultMatrix, RoleDefaultObj, RoleDelegatable, RoleMatrix, RoleName, RolePersonae, TaskBase, TaskClass, TaskName, TaskOptionStrings, TaskPeriodAnchor, TaskPeriodCount, TaskPeriodUnit, TaskRunOnCommit, TaskRunPeriodically, UserAdminPersonae, UserBase, UserPassword, UserUserName
 
Fields inherited from interface arlut.csd.ganymede.ObjectStatus
CREATING, DELETING, DROPPING, EDITING
 
Fields inherited from interface arlut.csd.ganymede.FieldType
BOOLEAN, DATE, FIRSTFIELD, FLOAT, INVID, IP, LASTFIELD, NUMERIC, PASSWORD, PERMISSIONMATRIX, STRING
 
Constructor Summary
taskCustom(arlut.csd.ganymede.DBObjectBase objectBase)
          Customization Constructor
taskCustom(arlut.csd.ganymede.DBObjectBase objectBase, arlut.csd.ganymede.Invid invid, arlut.csd.ganymede.DBEditSet editset)
          Create new object constructor
taskCustom(arlut.csd.ganymede.DBObject original, arlut.csd.ganymede.DBEditSet editset)
          Check-out constructor, used by DBObject.createShadow() to pull out an object for editing.
 
Method Summary
 boolean canSeeField(arlut.csd.ganymede.DBSession session, arlut.csd.ganymede.DBField field)
          Customization method to verify whether the user should be able to see a specific field in a given object.
 void commitPhase2()
          This method is a hook for subclasses to override to pass the phase-two commit command to external processes.

For normal usage this method would not be overridden.
 boolean fieldRequired(arlut.csd.ganymede.DBObject object, short fieldid)
          Customization method to control whether a specified field is required to be defined at commit time for a given object.

To be overridden in DBEditObject subclasses.

Note that this method will not be called if the controlling GanymedeSession's enableOversight is turned off, as in bulk loading.

*PSEUDOSTATIC*
 arlut.csd.ganymede.ReturnVal finalizeSetValue(arlut.csd.ganymede.DBField field, java.lang.Object value)
          This method allows the DBEditObject to have executive approval of any scalar set operation, and to take any special actions in reaction to the set..
 boolean isIntLimited(arlut.csd.ganymede.DBField field)
          This method provides a hook that a DBEditObject subclass can use to indicate that a given Numeric field has a restricted range of possibilities.
 int minInt(arlut.csd.ganymede.DBField field)
          This method is used to specify the minimum acceptable value for the specified field.
 boolean mustChoose(arlut.csd.ganymede.DBField field)
          This method provides a hook that a DBEditObject subclass can use to indicate whether a given field can only choose from a choice provided by obtainChoiceList()
 arlut.csd.ganymede.QueryResult obtainChoiceList(arlut.csd.ganymede.DBField field)
          This method provides a hook that can be used to generate choice lists for invid and string fields that provide such.
 
Methods inherited from class arlut.csd.ganymede.DBEditObject
anonymousLinkOK, anonymousLinkOK, anonymousLinkOK, anonymousUnlinkOK, anonymousUnlinkOK, anonymousUnlinkOK, canBeInactivated, canClone, canCloneField, canCreate, canInactivate, canRead, canRemove, canWrite, checkNewField, checkpoint, choiceListHasExceptions, cloneFromObject, commitPhase1, consistencyCheck, createNewEmbeddedObject, diff, excludeSelected, finalizeAddElement, finalizeAddElements, finalizeDeleteElement, finalizeDeleteElements, finalizeInactivate, finalizeReactivate, finalizeRemove, finalizeSetElement, getEditSet, getEmailTargets, getLabel, getLabelHook, getOriginal, getSession, getStatus, getVirtualValue, grantOwnership, hasEmailTarget, inactivate, initializeNewObject, instantiateNewField, internalSession, isCommitting, isDateLimited, isDeleting, isFloatLimited, isIPv6OK, isStored, maxDate, maxFloat, maxInt, minDate, minFloat, obtainChoicesKey, permExpand, permExpand, permOverride, permOverride, reactivate, release, remove, rollback, setCommitting, setDebug, setFieldValue, setFieldValueLocal, setStatus, useLabelHook, verifyNewValue, virtualizeField, wizardHook
 
Methods inherited from class arlut.csd.ganymede.DBObject
canInactivate, checkRequiredFields, clearField, clearFieldPerm, clearShadow, createShadow, emit, emitXML, equals, exportFields, findField, getASymmetricTargets, getBackLinks, getBase, getContainingLabel, getEmailTargets, getExpirationDate, getField, getField, getFieldDef, getFieldId, getFieldInfoVector, getFieldName, getFieldPerm, getFieldValue, getFieldValueLocal, getFieldValues, getFieldValuesLocal, getFieldVect, getFieldVector, getGSession, getID, getInvid, getLabelField, getLabelFieldID, getPrintString, getRemovalDate, getSummaryDescription, getTypeDesc, getTypeID, getTypeName, hasEmailTarget, hashCode, isEmbedded, isInactivated, isSet, isValid, listFields, lookupLabel, print, print, receive, replaceField, retrieveField, saveField, setBackPointers, toString, unsetBackPointers, updateBaseRefs, willBeRemoved, willExpire
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

choiceList

static arlut.csd.ganymede.QueryResult choiceList
Constructor Detail

taskCustom

public taskCustom(arlut.csd.ganymede.DBObjectBase objectBase)
           throws java.rmi.RemoteException
Customization Constructor


taskCustom

public taskCustom(arlut.csd.ganymede.DBObjectBase objectBase,
                  arlut.csd.ganymede.Invid invid,
                  arlut.csd.ganymede.DBEditSet editset)
           throws java.rmi.RemoteException
Create new object constructor


taskCustom

public taskCustom(arlut.csd.ganymede.DBObject original,
                  arlut.csd.ganymede.DBEditSet editset)
           throws java.rmi.RemoteException
Check-out constructor, used by DBObject.createShadow() to pull out an object for editing.

Method Detail

mustChoose

public boolean mustChoose(arlut.csd.ganymede.DBField field)
This method provides a hook that a DBEditObject subclass can use to indicate whether a given field can only choose from a choice provided by obtainChoiceList()

Overrides:
mustChoose in class DBEditObject

obtainChoiceList

public arlut.csd.ganymede.QueryResult obtainChoiceList(arlut.csd.ganymede.DBField field)
This method provides a hook that can be used to generate choice lists for invid and string fields that provide such. String and Invid DBFields will call their owner's obtainChoiceList() method to get a list of valid choices. This method will provide a reasonable default for targeted invid fields.

Overrides:
obtainChoiceList in class DBEditObject

fieldRequired

public boolean fieldRequired(arlut.csd.ganymede.DBObject object,
                             short fieldid)
Customization method to control whether a specified field is required to be defined at commit time for a given object.

To be overridden in DBEditObject subclasses.

Note that this method will not be called if the controlling GanymedeSession's enableOversight is turned off, as in bulk loading.

*PSEUDOSTATIC*

Overrides:
fieldRequired in class DBEditObject

isIntLimited

public boolean isIntLimited(arlut.csd.ganymede.DBField field)
This method provides a hook that a DBEditObject subclass can use to indicate that a given Numeric field has a restricted range of possibilities.

Overrides:
isIntLimited in class DBEditObject

minInt

public int minInt(arlut.csd.ganymede.DBField field)
This method is used to specify the minimum acceptable value for the specified field.

Overrides:
minInt in class DBEditObject

finalizeSetValue

public arlut.csd.ganymede.ReturnVal finalizeSetValue(arlut.csd.ganymede.DBField field,
                                                     java.lang.Object value)
This method allows the DBEditObject to have executive approval of any scalar set operation, and to take any special actions in reaction to the set.. if this method returns true, the DBField that called us will proceed to make the change to it's value. If this method returns false, the DBField that called us will not make the change, and the field will be left unchanged.

The DBField that called us will take care of all possible checks on the operation (including a call to our own verifyNewValue() method. Under normal circumstances, we won't need to do anything here.

If we do return false, we should set editset.setLastError to provide feedback to the client about what we disapproved of.

Overrides:
finalizeSetValue in class DBEditObject

canSeeField

public boolean canSeeField(arlut.csd.ganymede.DBSession session,
                           arlut.csd.ganymede.DBField field)
Customization method to verify whether the user should be able to see a specific field in a given object. Instances of DBField will wind up calling up to here to let us override the normal visibility process.

Note that it is permissible for session to be null, in which case this method will always return the default visiblity for the field in question.

If field is not from an object of the same base as this DBEditObject, an exception will be thrown.

To be overridden in DBEditObject subclasses.

*PSEUDOSTATIC*

Overrides:
canSeeField in class DBEditObject

commitPhase2

public void commitPhase2()
This method is a hook for subclasses to override to pass the phase-two commit command to external processes.

For normal usage this method would not be overridden. For cases in which change to an object would result in an external process being initiated whose success or failure would not affect the successful commit of this DBEditObject in the Ganymede server, the process invokation should be placed here, rather than in commitPhase1().

Subclasses that override this method may wish to make this method synchronized.

Overrides:
commitPhase2 in class DBEditObject
See Also:
DBEditSet