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:
customizationReplaceable
annotation attribute set to true
.replacementComponent
attribute to
true
.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 ...
}
...
}