Component Replacement
Business Components provide a simple extension mechanism where base-package code can be made available to be replaced by customizations. For this to take place, two things must happen:
- A component is added as described above with the
customizationReplaceable
annotation attribute set totrue
. - A replacement component is created that implements the business interface of the original
component and sets the
replacementComponent
attribute totrue
.
An example replacement of the PersonFinders
component is shown below.
Component implementations are registered in the same order as the application stack,
that is: base
followed by ccb
, then followed
by cm
. After the component is defined in one application, derived
applications (higher on the stack) can replace the implementation.
package com.abcutilities.cis.customizations.person;
/**
* @BusinessComponent
* (replacementComponent = true)
*/
public class CustomizedPersonFindersImpl
extends GenericBusinessComponent
implements PersonFinders {
public Integer findCountByNameType(PerOrBusLookup nameType) {
... customized code ...
}
...
}