고급 사용자 정의 > Business Logic Customization > Customizing MPMLink > Configuring and Customizing Automatic BOM Transformation > Procedure
  
Procedure
Examples of Code-level Customizations
There are multiple options to perform code-level customizations. The flowchart given below illustrates a high-level code for the out of the box template. Most of the code blocks in the flowchart are customization hooks that allow you to write your business specific logic for the flow.
Configure your custom delegate in the xconf file as described in the topic: Solution. Custom delegate should extend the out of the box delegate or the abstract delegate. An example of a custom class is given below:
An example of configuration is given below:
To override the default behavior of the way transformOption works, override the getTransformOption() method in the custom resolver or delegate:
To override the default behavior of the way structureOption works, override the getStructureOption() method in the custom resolver or delegate:
To process a node after transformation, override the postTransformation() method:
To override the behavior for processing the children of a given node, override the isValidForFurtherProcessing() method:
To define a custom logic to use an existing downstream instead of the default logic of using equivalence links, specify a custom class:
Out of the box, TargetPathResolver provides customization points that can be overridden. Specify a custom class:
To override the behavior for validation of upPath of a given node, override the isValidInstanceForTransformation() method from AbstractAddUsageResolver class:
To override the behavior for validation of downPath of a given node, override the isValidTargetInstanceForTransformation() method from TargetPathResolver class: