diff --git a/sfdx-source/apex-common/main/classes/fflib_SObjectUnitOfWork.cls b/sfdx-source/apex-common/main/classes/fflib_SObjectUnitOfWork.cls index 1c38f657b61..8aefd923788 100644 --- a/sfdx-source/apex-common/main/classes/fflib_SObjectUnitOfWork.cls +++ b/sfdx-source/apex-common/main/classes/fflib_SObjectUnitOfWork.cls @@ -222,7 +222,7 @@ public virtual class fflib_SObjectUnitOfWork /** * Register a generic piece of work to be invoked during the commitWork phase **/ - public void registerWork(IDoWork work) + public virtual void registerWork(IDoWork work) { m_workList.add(work); } @@ -230,7 +230,7 @@ public virtual class fflib_SObjectUnitOfWork /** * Registers the given email to be sent during the commitWork **/ - public void registerEmail(Messaging.Email email) + public virtual void registerEmail(Messaging.Email email) { m_emailWork.registerEmail(email); } @@ -240,7 +240,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record An deleted record **/ - public void registerEmptyRecycleBin(SObject record) + public virtual void registerEmptyRecycleBin(SObject record) { String sObjectType = record.getSObjectType().getDescribe().getName(); assertForSupportedSObjectType(m_emptyRecycleBinMapByType, sObjectType); @@ -253,7 +253,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records Deleted records **/ - public void registerEmptyRecycleBin(List records) + public virtual void registerEmptyRecycleBin(List records) { for (SObject record : records) { @@ -266,7 +266,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record A newly created SObject instance to be inserted during commitWork **/ - public void registerNew(SObject record) + public virtual void registerNew(SObject record) { registerNew(record, null, null); } @@ -276,7 +276,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records A list of newly created SObject instances to be inserted during commitWork **/ - public void registerNew(List records) + public virtual void registerNew(List records) { for (SObject record : records) { @@ -292,7 +292,7 @@ public virtual class fflib_SObjectUnitOfWork * @param relatedToParentField A SObjectField reference to the child field that associates the child record with its parent * @param relatedToParentRecord A SObject instance of the parent record (should also be registered as new separately) **/ - public void registerNew(SObject record, Schema.SObjectField relatedToParentField, SObject relatedToParentRecord) + public virtual void registerNew(SObject record, Schema.SObjectField relatedToParentField, SObject relatedToParentRecord) { if (record.Id != null) throw new UnitOfWorkException('Only new records can be registered as new'); @@ -314,7 +314,7 @@ public virtual class fflib_SObjectUnitOfWork * @param relatedToField A SObjectField reference to the lookup field that relates the two records together * @param relatedTo A SObject instance (yet to be committed to the database) */ - public void registerRelationship(SObject record, Schema.SObjectField relatedToField, SObject relatedTo) + public virtual void registerRelationship(SObject record, Schema.SObjectField relatedToField, SObject relatedTo) { String sObjectType = record.getSObjectType().getDescribe().getName(); @@ -332,7 +332,7 @@ public virtual class fflib_SObjectUnitOfWork * @param email a single email message instance * @param relatedTo A SObject instance (yet to be committed to the database) */ - public void registerRelationship( Messaging.SingleEmailMessage email, SObject relatedTo ) + public virtual void registerRelationship( Messaging.SingleEmailMessage email, SObject relatedTo ) { m_relationships.get( Messaging.SingleEmailMessage.class.getName() ).add(email, relatedTo); } @@ -350,7 +350,7 @@ public virtual class fflib_SObjectUnitOfWork * * Wraps putSObject, creating a new instance of the lookup sobject using the external id field and value. */ - public void registerRelationship(SObject record, Schema.SObjectField relatedToField, Schema.SObjectField externalIdField, Object externalId) + public virtual void registerRelationship(SObject record, Schema.SObjectField relatedToField, Schema.SObjectField externalIdField, Object externalId) { // NOTE: Due to the lack of ExternalID references on Standard Objects, this method can not be provided a standardized Unit Test. - Rick Parker String sObjectType = record.getSObjectType().getDescribe().getName(); @@ -364,7 +364,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record An existing record **/ - public void registerDirty(SObject record) + public virtual void registerDirty(SObject record) { registerDirty(record, new List()); } @@ -375,7 +375,7 @@ public virtual class fflib_SObjectUnitOfWork * @param records SObjects to register as dirty * @param dirtyFields A list of modified fields */ - public void registerDirty(List records, List dirtyFields) + public virtual void registerDirty(List records, List dirtyFields) { for (SObject record : records) { @@ -389,7 +389,7 @@ public virtual class fflib_SObjectUnitOfWork * @param record SObject to register as dirty * @param dirtyFields A list of modified fields */ - public void registerDirty(SObject record, List dirtyFields) + public virtual void registerDirty(SObject record, List dirtyFields) { if (record.Id == null) throw new UnitOfWorkException('New records cannot be registered as dirty'); @@ -425,7 +425,7 @@ public virtual class fflib_SObjectUnitOfWork * @param relatedToParentField A SObjectField reference to the child field that associates the child record with its parent * @param relatedToParentRecord A SObject instance of the parent record (should also be registered as new separately) **/ - public void registerDirty(SObject record, Schema.SObjectField relatedToParentField, SObject relatedToParentRecord) + public virtual void registerDirty(SObject record, Schema.SObjectField relatedToParentField, SObject relatedToParentRecord) { registerDirty(record); if (relatedToParentRecord!=null && relatedToParentField!=null) @@ -437,7 +437,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records A list of existing records **/ - public void registerDirty(List records) + public virtual void registerDirty(List records) { for (SObject record : records) { @@ -450,7 +450,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record A new or existing record **/ - public void registerUpsert(SObject record) + public virtual void registerUpsert(SObject record) { if (record.Id == null) { @@ -467,7 +467,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records A list of mix of new and existing records **/ - public void registerUpsert(List records) + public virtual void registerUpsert(List records) { for (SObject record : records) { @@ -480,7 +480,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record An existing record **/ - public void registerDeleted(SObject record) + public virtual void registerDeleted(SObject record) { if (record.Id == null) throw new UnitOfWorkException('New records cannot be registered for deletion'); @@ -497,7 +497,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records A list of existing records **/ - public void registerDeleted(List records) + public virtual void registerDeleted(List records) { for (SObject record : records) { @@ -510,7 +510,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records A list of existing records **/ - public void registerPermanentlyDeleted(List records) + public virtual void registerPermanentlyDeleted(List records) { this.registerEmptyRecycleBin(records); this.registerDeleted(records); @@ -521,7 +521,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record A list of existing records **/ - public void registerPermanentlyDeleted(SObject record) + public virtual void registerPermanentlyDeleted(SObject record) { this.registerEmptyRecycleBin(record); this.registerDeleted(record); @@ -532,7 +532,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record A newly created SObject (Platform Event) instance to be inserted during commitWork **/ - public void registerPublishBeforeTransaction(SObject record) + public virtual void registerPublishBeforeTransaction(SObject record) { String sObjectType = record.getSObjectType().getDescribe().getName(); @@ -547,7 +547,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records A list of existing records **/ - public void registerPublishBeforeTransaction(List records) + public virtual void registerPublishBeforeTransaction(List records) { for (SObject record : records) { @@ -560,7 +560,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record A newly created SObject (Platform Event) instance to be inserted during commitWork **/ - public void registerPublishAfterSuccessTransaction(SObject record) + public virtual void registerPublishAfterSuccessTransaction(SObject record) { String sObjectType = record.getSObjectType().getDescribe().getName(); @@ -575,7 +575,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records A list of existing records **/ - public void registerPublishAfterSuccessTransaction(List records) + public virtual void registerPublishAfterSuccessTransaction(List records) { for (SObject record : records) { @@ -587,7 +587,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param record A newly created SObject (Platform Event) instance to be inserted during commitWork **/ - public void registerPublishAfterFailureTransaction(SObject record) + public virtual void registerPublishAfterFailureTransaction(SObject record) { String sObjectType = record.getSObjectType().getDescribe().getName(); @@ -602,7 +602,7 @@ public virtual class fflib_SObjectUnitOfWork * * @param records A list of existing records **/ - public void registerPublishAfterFailureTransaction(List records) + public virtual void registerPublishAfterFailureTransaction(List records) { for (SObject record : records) { @@ -613,7 +613,7 @@ public virtual class fflib_SObjectUnitOfWork /** * Takes all the work that has been registered with the UnitOfWork and commits it to the database **/ - public void commitWork() + public virtual void commitWork() { Savepoint sp = Database.setSavepoint(); Boolean wasSuccessful = false;