Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The forms we create for specific transactional documents should extend the succinctly named org.kuali.ricekfs.kns.web.struts.form.KualiTransactionalDocumentFormBase or a descendant class, and typically, our form classes will go into the package org.kuali.kfs.module.<modulename>.document.web.struts. KualiTransactionalDocumentFormBase extends a long hierarchy of form classes which, thankfully, we almost never need to concern ourselves with - all of that stuff is typically populated by the data dictionary or works on its own. That means that KualiTransactionalDocumentFormBase declares only these methods:

...

Form classes follow the document hierarchy, creating what has been termed "parallel hierarchies." For instance, org.kuali.kfs.fp.document.AdvanceDepositDocument extends CashReceiptFamilyBase which extends org.kuali.kfs.sys.document.AccountingDocumentBase, which in turn extends org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase and hey, what do you know, that happens to extend org.kuali.kfs.sys.document.LedgerPostingDocumentBase, and that, finally, extends TransactionalDocumentBase. Forms also have hierarchies, and they often follow at least similar parentage as the document hierarchy. In our example, AdvanceDepositForm extends org.kuali.kfs.sys.web.struts.KualiAccountingDocumentFormBase, extends FinancialSystemTransactionalDocumentFormBase that extends KualiTransactionalDocumentFormBase. In short, it is important that our Form class hierarchy (and our Action class hierarchy) follows the document hierarchy to some extent.

See the hierarchy here Image Removed
 

Image Added

Creating new slots for adding to collections
Anchor
collection_slots
collection_slots

...