Class PluginFragmentTransformer<T>

  • All Implemented Interfaces:
    FragmentTransformer

    public class PluginFragmentTransformer<T>
    extends Object
    implements FragmentTransformer

    An transformer class used to access fragment transformers which are defined in plugins.

    This is a solution to access fragment transformers that are only available at runtime.

    This will respect the weight and chain name of a transformer module descriptor. This also allows to pass in difference marker

    • Constructor Detail

      • PluginFragmentTransformer

        public PluginFragmentTransformer​(com.atlassian.plugin.PluginAccessor pluginAccessor,
                                         String transformerChainName,
                                         Class<T> markerClass)
        A transformer in Confluence core which could reuse a logic from plugin's transformer. This constructor will be used by daisy diff which required to retrieve Plugin's Transformer on the fly
        Parameters:
        pluginAccessor - used to access plugin's transformer
        transformerChainName - a name which identify which flow transformer is supported (ex: storageToView) This would match with the one defined in plugin
        markerClass - a marker which use to filter out plugin's transformer
      • PluginFragmentTransformer

        public PluginFragmentTransformer​(com.atlassian.plugin.PluginAccessor pluginAccessor,
                                         String transformerChainName,
                                         Class<T> markerClass,
                                         List<FragmentTransformer> defaultFragmentTransformerList)
        A transformer in Confluence core which could reuse a logic from plugin's transformer. This constructor will be used for Space exporting which require to load all plugin's transformer eagerly
        Parameters:
        pluginAccessor - used to access plugin's transformer
        transformerChainName - a name which identify which flow transformer is supported (ex: storageToView) This would match with the one defined in plugin
        markerClass - a marker which use to filter out plugin's transformer
        defaultFragmentTransformerList - list of default FragmentTransformer might come from Confluence Core. Note: caller must make sure that transformer are stateless
      • PluginFragmentTransformer

        public PluginFragmentTransformer​(com.atlassian.plugin.PluginAccessor pluginAccessor,
                                         String transformerChainName,
                                         Class<T> markerClass,
                                         List<FragmentTransformer> defaultFragmentTransformerList,
                                         boolean isLazyInitialPluginTransformer)