[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

Datebook

inherits from Object
inherits from StorageContainer
inherits from HasReinitialize
inherits from PurgesDaily
inherits from HasTimedAction

Object <- Datebook



Operations

Get list of all operations

CancelTask
CurrentUserChanged
DestroySystemStorageContents
EachException
EachStorageObject
FindMatchingTask
ForgetTask
GetTasksCommon
InstallInto
InstalledReceiver
IsScheduled
ItemChanged
NearestInstanceDate
NearestInstanceDateCommon
Notice
PurgeTrigger
Reinitialize
Returned
ScheduleTask
SearchForSuggestionsByDate
SetTaskException
StorageInstallIndexical
StorageObjectsSize
SuggestionSearchStatus
Tasks
TimedAction
UniqueTasks
UpdateTimedActions
UpdateToDos


Attributes

Get list of all attributes

ChangeSeed
MaxDate
MinDate
PurgePrompt
PurgingWindowName


Fields

Field Type
PurgesDaily: purgeDate: Signed
purgeTimeRange: Signed
Datebook: minDate: Signed
maxDate: Signed
changeSeed: Unsigned
solitaryTasks: TaskList
repeatTasks: TaskList
actionTasks: ObjectList
nextTrigger: TimedEvent
nextActionTask: Task
systemSize: Unsigned
sizeSeed: Unsigned


Instance template

instance Datebook tag;
      purgeDate: 0;
 purgeTimeRange: 0;
        minDate: 0;
        maxDate: 0;
     changeSeed: 0;
  solitaryTasks: nilObject;
    repeatTasks: nilObject;
    actionTasks: nilObject;
    nextTrigger: nilObject;
 nextActionTask: nilObject;
     systemSize: 0;
       sizeSeed: 0;
end instance;

Class definition

Define Class Datebook;
    inherits from Object, StorageContainer, HasReinitialize, PurgesDaily, HasTimedAction;
    
    field minDate:          Signed, getter, setter;
    field maxDate:          Signed, getter, setter;
    field changeSeed:       Unsigned, getter, setter;
    field solitaryTasks:    TaskList;
    field repeatTasks:      TaskList;
    field actionTasks:      ObjectList;
    field nextTrigger:      TimedEvent;
    field nextActionTask:   Task;
    field systemSize:       Unsigned;
        // caches results of CalcStorageObjectsSize
    field sizeSeed:         Unsigned;
        // stores value of change seed when storage objects size was last calculated

    operation CancelTask(task: Task);
        // removes task from Datebook's user interface
    overrides CurrentUserChanged;
        // set requester of any appointments whose requester is nilObject to new current user
    overrides StorageObjectsSize;
        // overridden to return cached value if size seed matches change seed
    overrides DestroySystemStorageContents;
    operation EachException(master: Task; function: EachFunction; parameters: Pointer): Task, noFail;
    operation FindMatchingTask(requester: FullContact; appointmentID: Unsigned): Task;
    operation ForgetTask(task: Task);                   
        // removes task from Datebook's knowledge
    overrides InstallInto;
    operation IsScheduled(task: Task): Boolean;
    operation ItemChanged(task: Task);
    overrides Reinitialize;
    operation NearestInstanceDate(master: Task; startDate: Signed; direction: SignedShort): Signed; 
        // finds closest date on which an instance of this master would fall; direction > 0 looks forward, < 0 backward, = 0 both ways
    overrides Notice;
        // if user has changed date or time, recalculate which action task will be the next to fire
    operation ScheduleTask(task: Task);
    operation SetTaskException(task: Task; newValue: Boolean);
    operation Tasks(list: TaskList);
        // fills list with appointments in range of list
    overrides TimedAction;
        // rings alarms and calls TimedAction on each task whose time is due
    operation UniqueTasks(list: TaskList);
        // fills list with appointments in range of list, adding only one instance of each repeating appointment
    operation UpdateToDos();
    operation UpdateTimedActions();
    
    // offering suggestions for discarding

    overrides PurgePrompt;  
        // returns iDatebookPurgeSingular or iDatebookPurgePlural, depending on count of purge list
    overrides PurgeTrigger; 
        // returns iPurgeDatebookTrigger
    overrides PurgingWindowName;    
        // returns iItemsToPurge
    overrides SearchForSuggestionsByDate;
        // offers up tasks (repeat or solitary) that end before given date
    overrides SuggestionSearchStatus;
        // returns ephemeral copy of iCheckingOldAppointments or iCheckingAppointments, depending on <recommendedOnly>

    // Returnables
    operation Returned(returnable: Object): Object, safe;

    attribute ChangeSeed: Unsigned;
    attribute MinDate: Signed;
        // dates of tasks must be no earlier than this
    attribute MaxDate: Signed;
        // dates of tasks must be no later than this

    overrides EachStorageObject, StorageInstallIndexical, InstalledReceiver;

    operation GetTasksCommon(list: TaskList; allInstances: Boolean), intrinsic;
    operation NearestInstanceDateCommon(master: Task; startDate: Signed; stopDate: Signed; forwardFlag: Boolean): Signed, intrinsic;
end class;