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
customizationReplaceableannotation attribute set totrue. - A replacement component is created that implements the business interface of the original
component and sets the
replacementComponentattribute 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 ...
}
...
}
