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 to true.
  • A replacement component is created that implements the business interface of the original component and sets the 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 ...
			    }
			    ...
			}