Customizations and References

Custom artefacts can depend on deprecated Cúram artefacts either by referencing them, or by customizing (overriding) them. Reference and customization dependencies have different characteristics and it is important to understand the difference. To illustrate:

The impact of deprecation on custom code depends on whether that code is referencing or customizing a deprecated artefact.

Where code references a deprecated Cúram artefact (e.g. calls a deprecated method), the deprecated artefact still exists and functions in a backwardly-compatible way. This is the same as for regular Java deprecation where the immediate impact is minimal or nil.

Where code customizes (overrides) a deprecated Cúram artefact, the base Cúram Application no longer invokes that artefact - it is no longer part of the "default flow" of the base application. It is reasonably likely that it has been removed from the default flow of custom applications. In short, customizations of deprecated artefacts do not function as before and there is a strong likelihood that some corrective action will be needed. That action could include dropping the customization (e.g. if equivalent functionality has since been implemented), re-applying the customization to the artefact that replaces the deprecated one, etc.

The deprecation build infrastructure provided uses special tags in deprecation warnings to help distinguish between references-to and customizations-of deprecated artefacts. This will be described in more detail later in this chapter.