Interface IFix<C extends IFixContext>

All Known Implementing Classes:
BasicFix, BinaryDataStorageLocationUseFieldTypeFix, ConfigurationStandaloneContentFix, DbObjectTabularSectionFix, MultiVariantModelBasicFix, MultiVariantXtextBslModuleFix, ReferenceValueFix, ReferenceValueFixNonCritical, SingleVariantBasicFix, SingleVariantModelBasicFix, SingleVariantXtextBslModuleFix, XdtoPackageExtensionPackageNamespaceFeaturesStateFix

public interface IFix<C extends IFixContext>
The fix is intended for fixing problems being detected by some ICheck. The fix is bound to the corresponding check using it's CheckUid. Each check works with a specific IFixContext for the convenience. Each fix provides one or more IFixVariant Fixes should be registered via the IFixRepository, or using the corresponding extension point com.e1c.g5.v8.dt.check.fixes
  • Method Details

    • getCheckId

      CheckUid getCheckId()
      Gets the check UID the fix is intended to.
      Returns:
      The unique identifier of the check. May not be null
    • getRequiredContextType

      Class<C> getRequiredContextType()
      Gets the required context type
      Returns:
      The type of the context that is required by the fix variant to work. May not be null
    • getVariants

      Collection<IFixVariant<C>> getVariants(C context, IFixSession session)
      Gets declared variants for the given fix. Variant applicability may be controlled using the provided context
      Returns:
      The collection of variants. May not be null
    • onRegistration

      void onRegistration(FixDescriptor fixDescriptor)
      This method is being called by the fix engine during the initialization phase. The developer may register additional fix entitier, like context factories, fix change processors, preview providers which are specific only to this fix
      Parameters:
      fixDescriptor - The descriptor of the fix. A fix developer should use it to register fix specific components. May not be null