Interface DataSourceFactory

  • All Known Implementing Classes:
    DefaultDataSourceFactory

    public interface DataSourceFactory
    Constructs DataSources for use in mail notifications.
    Since:
    4.0
    • Method Detail

      • getAvatar

        javax.activation.DataSource getAvatar​(com.atlassian.user.User user)
        Construct a DataSource for a user's profile picture.
        Parameters:
        user - The user to retrieve the avatar for. If null, "Anonymous" will be assumed.
        Returns:
        A DataSource containing the user's profile picture. DataSource.getName() will return the string "avatar_[hash]", where [hash] is an md5 hash of the user's name plus the avatar's filename.
      • getSpaceLogo

        javax.activation.DataSource getSpaceLogo​(Space space)
        Encapsulates the logo for the given Space in a DataSource.
        Parameters:
        space - the space to retrieve the logo for
        Returns:
        a DataSource encapsulating the ...

        1. custom logo for a Space if configured
        2. default Space logo if configured
        3. default Confluence Space logo, SpaceLogo.DEFAULT_LOGO_PATH
        DataSource.getName() will return "<spacekey>-space-logo"
        Since:
        5.2
      • getServletContainerResource

        javax.activation.DataSource getServletContainerResource​(String path,
                                                                String name)
        Parameters:
        path - a path that must begin with a "/" and is interpreted as relative to the current context root
        name - a custom name for the DataSource that will be returned.
        Returns:
        a DataSource containing the resource located at the path. DataSource.getName() will return the value of {@param name}.
      • getURLResource

        javax.activation.DataSource getURLResource​(URL url,
                                                   String name)
      • forPlugin

        @Deprecated
        com.atlassian.fugue.Maybe<PluginDataSourceFactory> forPlugin​(String pluginKey)
        Deprecated.
        since 7.0.1. Use createForPlugin(String)
        Create a factory for a specific plugin.

        Allows the creation of DataSources from <resource> descriptors.

        Parameters:
        pluginKey - the key used to locate the plugin
        Returns:
        maybe the factory for the plugin if it could be located
        Since:
        5.2
      • createForPlugin

        default Optional<PluginDataSourceFactory> createForPlugin​(String pluginKey)
        Create a factory for a specific plugin.

        Allows the creation of DataSources from <resource> descriptors.

        Parameters:
        pluginKey - the key used to locate the plugin
        Returns:
        maybe the factory for the plugin if it could be located
        Since:
        7.0.1