Skip to main content

%Studio.SourceControl.CCREventHandler

class %Studio.SourceControl.CCREventHandler extends %Library.RegisteredObject

CCR Event Handlier superclass, this does nothing but provide interface for the real event handler classes to use. Subclass from this and implement the methods you need.

The interface methods are all implemented as class methods so that the system can make their handler persistent if they so choose (the would need to fire the appropriate save logic from within one of the callback methods).

During a Refresh call, the same instance of the CCREventHandler class will be used to call RefreshPrepare() as well as RefreshFinalize(). This means that properties can be initilized in Prepare and used in Finalize.

During an ItemSet load, the same instance will be used to call ItemSetBeforeLoad(), ItemSetAfterLoadToOS(). as well as ItemSetAfterLoadToNS(). This allows properties to be accessed between each of the calls.

To activate the custom event handler, set the following global in CCR-controlled namespace:
^SYS("SourceControl","EventHandler","Class")="Custom.MyEventHandler"
Where the Custom.MyEventHandler.cls class extends %Studio.SourceControl.CCREventHandler.cls

Property Inventory

Method Inventory

Parameters

parameter SrcVer = $Id: //iris/2024.1.0/databases/sys/cls/Studio/SourceControl/CCREventHandler.xml#1 $;
This Parameter should be updated when synced from Perforce
parameter Version = 4;
Revision number of this class when compiled as part of the //custom_ccrs/_common/config/... branch. This version will not be updated (by design) when the class is integrated to other branches. This allows the user to tell what version of the Studio client tools are in use.

Properties

property ItemSetID as %String;
The ID of the %Studio.SourceControl.ItemSet object which is being loaded into the current namespace
Property methods: ItemSetIDDisplayToLogical(), ItemSetIDGet(), ItemSetIDIsValid(), ItemSetIDLogicalToDisplay(), ItemSetIDLogicalToOdbc(), ItemSetIDNormalize(), ItemSetIDSet()
property ItemSetItemList as array of %String;
When an ItemSet is being loaded, its ItemSet is copied to this property.
Property methods: ItemSetItemListBuildValueArray(), ItemSetItemListCollectionToDisplay(), ItemSetItemListCollectionToOdbc(), ItemSetItemListDisplayToCollection(), ItemSetItemListDisplayToLogical(), ItemSetItemListGet(), ItemSetItemListGetObject(), ItemSetItemListGetObjectId(), ItemSetItemListGetSwizzled(), ItemSetItemListIsValid(), ItemSetItemListLogicalToDisplay(), ItemSetItemListLogicalToOdbc(), ItemSetItemListNormalize(), ItemSetItemListOdbcToCollection(), ItemSetItemListSet(), ItemSetItemListSetObject(), ItemSetItemListSetObjectId()
property ItemSetName as %String;
The Name of the ItemSet being loaded
Property methods: ItemSetNameDisplayToLogical(), ItemSetNameGet(), ItemSetNameIsValid(), ItemSetNameLogicalToDisplay(), ItemSetNameLogicalToOdbc(), ItemSetNameNormalize(), ItemSetNameSet()
property RefreshPrompt as %Boolean [ InitialExpression = 0 ];
This property is set to 1 if the Refresh is being run interactively and it is safe to prompt the user for input. If it is not true, do not issue any Read commands as it will hang when Refresh is run from Studio
Property methods: RefreshPromptDisplayToLogical(), RefreshPromptGet(), RefreshPromptIsValid(), RefreshPromptLogicalToDisplay(), RefreshPromptNormalize(), RefreshPromptSet()

Methods

method ItemSetAfterLoadToNS() as %Status
This method is called during the loading of an ItemSet, after the contents of the ItemSet have been loaded into the namespace, and after the ImplementCCR routine has been run
method ItemSetAfterLoadToOS(ByRef abortLoad As %Boolean) as %Status
This method is called during the loading of an ItemSet, after the contents of the ItemSet have been extracted into the Source workspace, before they have been loaded into the namespace.

If abortLoad is set to 1 before returning to the caller, then the caller will abort the ItemSet Load

method ItemSetBeforeLoad(ByRef abortLoad As %Boolean) as %Status
This method is called during the loading of an ItemSet, before anything from the ItemSet has been loaded to the local disk yet (only the ItemSet object has been created).

If abortLoad is set to 1 before returning to the caller, then the caller will abort the ItemSet Load

method RefreshFinalize() as %Status
This method is called by the CCR Refresh logic, after the items have been refreshed into the namespace. It is intended for any additional configuration work which may be necessary (e.g. initialization of reference tables, building of 3rd party sources, etc)
method RefreshPrepare(ByRef abortRefresh As %Boolean) as %Status
This method is called by the CCR Refresh logic, after the branch has been synced but before any of the items have been loaded into the namespace. It is intended for use to do any preparatory work that must be done in a certain order (e.g. creation of csp application definitions, security objects, etc).

If abortRefresh is set to 1 before returning to the caller, then the caller will abort the Refresh

Inherited Members

Inherited Methods

FeedbackOpens in a new tab