@Handler(supports=Voidable.class) public class VoidSaveHandler extends Object implements SaveHandler<Voidable>
RequiredDataAdvice class uses AOP around each method in every service to check to see
if its a save* method. If it is a save* method, and the object being saved implements
Voidable, this class is called to handle setting the
Voidable.setVoidedBy(User), and Voidable.setDateVoided(Date) if not set
already. RequiredDataAdvice class will loop over child collections on this
Voidable that are themselves a Voidable and voidedBy/dateVoided are set,
but ONLY IF the voided bit was set on them as well. Using the associated void* method
in the service on the parent instance is preferred so that all child objects are indeed voided.RequiredDataAdvice,
SaveHandler,
RequiredDataAdvice| Constructor and Description |
|---|
VoidSaveHandler() |
| Modifier and Type | Method and Description |
|---|---|
void |
handle(Voidable voidableObject,
User currentUser,
Date currentDate,
String notUsed)
This method does not set "voided" to true, but rather only sets the voidedBy/dateVoided if
they are null and voided==true.
|
public void handle(Voidable voidableObject, User currentUser, Date currentDate, String notUsed)
handle in interface RequiredDataHandler<Voidable>handle in interface SaveHandler<Voidable>voidableObject - an OpenmrsObject that needs to have some required data setcurrentUser - the user who is saving this objectcurrentDate - the datetime this object is being savednotUsed - (optional) would be the second argument in the save method, if existsRequiredDataHandler.handle(org.openmrs.OpenmrsObject,
org.openmrs.User, java.util.Date, java.lang.String)Copyright © 2018 OpenMRS LLC.. All Rights Reserved.