GenericFormHandler And RepositoryFormHandler Classes In ATG
Both of these classes in ATG are used to create a custom form handler to deal with user input and repositories. But these two classes have different purposes in terms of creating new form handler. The difference is
Custom form handlers should typically extend GenericFormHandler, which:
- Is a subclass of GenericService
- Includes standard form error handling
e.g – a search form, in this user will only put the search queries we don’t have to perform any create, delete and update operation so GenericFormHandler class will be used to create custom form handler in this case.
This class we extends when we want to deal with the repositories for the data we have got from the form. Like we want to perform create , delete or update operations in repository. It includes logic that keeps the Java code from being dependent on a specific schema or repository definition.
class OurFormHanlder extends RepositoryFormHandler
Now we can use OurFormHanlder.create to create a new row in database without creating a new handle method. Also this class provides many hooks which can be use used for pre and post validation like preCreateItem and postCreateItem.
Do not override out-of-the-box methods to create, update, or delete items.