This classes defines a task that can be executed by the Task Manager.
To create a new task, create a subclass and override the OnTask method.
All public properties whose name does not start with a "%" are treated
as user-configurable "settings" for this task.
parameter DOMAIN = "%Utility";
Default Localization Domain
parameter PROPERTYVALIDATION = 2;
This parameter controls the default validation behavior for the object.
It can take one of the following values:
||Perform no automatic property validation.
||Perform validation (call the property's ..IsValid method)
every time an attribute value is set.
||Perform property validation (in the %ValidateObject method))
when the object is saved. This is only applicable to persistent objects.
Note: The use of ValidateOnSet is not recommended-it can cause excessive
communication between client and server in distributed applications.
It is provided for compatability with previous versions.
This defines the user-visible name of this task;
This is defined in subclasses.
final classmethod GetCollectionType(propertyName As %String, ByRef tCollection As %String)
Return a collection type for a property, by passing reference tCollection we can get all properties which are collections
final classmethod GetPropertyName(propertyName As %String)
final method GetSettings()
Return a serialized list of user-defined Property values for an instance of this Task as a $List.
This serialized list is stored in %SYS.Task.Settings for the scheduled Task and used by
the Task Manager to set the Properties before OnTask() is run.
final classmethod GetTaskName()
The serialized state is of the form: $LB(name,val,name,val)
Returns the localized name of this task.
final method OnSubmit(ByRef pID As %String, pSubmit As %String)
This callback is called when this form is submitted.
pID is the ID value associated with the form.
The default implementation will perform a Save if the AutoForm is a persistent object.
pSubmit is the name of the submit button (i.e., $AUTOFORM_SAVE).
This method is responsible for executing the task.
final method SetSettings(pState As %List)
At the scheduled time, the Task Manager creates an instance of this object,
sets any property values using the stored "Settings" for the task, and then
invokes this method to execute the task.
In order to execute a real task, override this method in a subclass.
Called by the Task Manager prior to running onTask() to set all Property values.
The 'pState' value is the serialized list of Property values stored in the scheduled
Task in %SYS.Task.Settings.