...
A module service interface in the
org.kuali.module.integration.<your module code>
package that contains all methods that the core financial system and other optional modules need to call. This includes data access methods, business rules, document spawning etc. The implementation for this interface will live in theorg.kuali.module.<your module>.service.impl
. The corresponding bean should be defined in theorg.kuali.module.integration.SpringBeansModules.xml
file.Note Module service bean definitions that reside in
org.kuali.module.integration.SpringBeansModules.xml
cannot reference beans defined in optional module Spring files, e.g. withinLaborModuleServiceImpl
, other Labor services that are relied on need to be obtained fromSpringContext
NOT dependency injection.- Interfaces in the
org.kuali.module.integration<your module>.bo
package for business objects that the core financial system and other optional modules need to deal with as parameters or return values from your module service methods or reference from their lookups, documents, etc. See Externalizable Business Objects for documentation and the following examples: Account BO's references to ContractsAndGrantsCfda and ContractsAndGrantsAccountAwardInformation and the FP CAB data collection code - look for code references to CapitalAssetInformation and capitalAssetInfo.tag, e.g. refs to CapitalAssetManagementAsset. - Public and protected method signatures should not be changed in a non-impacting release. If a method signature change is required, the original method should be deprecated and a new method created. If possible, the original method should call the new method with sensible defaults.
...