@Handler(supports=Retireable.class) public class RetireSaveHandler extends java.lang.Object implements SaveHandler<Retireable>
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
 Retireable, this class is called to handle setting the
 Retireable.setRetiredBy(User), and Retireable.setDateRetired(Date) if not set
 already. RequiredDataAdvice class will loop over child collections on this
 Retireable that are themselves a Retireable and retiredBy/dateRetired are set,
 but ONLY IF the retired bit was set on them as well. Using the associated retire* method
 in the service on the parent instance is preferred so that all child objects are indeed retired.RequiredDataAdvice, 
SaveHandler, 
RequiredDataAdvice| Constructor and Description | 
|---|
RetireSaveHandler()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
handle(Retireable retireableObject,
      User currentUser,
      java.util.Date currentDate,
      java.lang.String notUsed)
This method does not set "retired" to true, but rather only sets the retiredBy/dateRetired if
 they are null and retired==true. 
 | 
public void handle(Retireable retireableObject, User currentUser, java.util.Date currentDate, java.lang.String notUsed)
handle in interface RequiredDataHandler<Retireable>handle in interface SaveHandler<Retireable>retireableObject - 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 Inc.. All Rights Reserved.