Class AvatarTranscoderImpl

java.lang.Object
com.atlassian.jira.avatar.AvatarTranscoderImpl
All Implemented Interfaces:
AvatarTranscoder

@ParametersAreNonnullByDefault public class AvatarTranscoderImpl extends Object implements AvatarTranscoder
  • Constructor Details

  • Method Details

    • getOrCreateRasterizedAvatarFile

      public com.atlassian.dc.filestore.api.FileStore.Path getOrCreateRasterizedAvatarFile(Avatar avatar, Avatar.Size size, InputStream inputStream) throws IOException
      Description copied from interface: AvatarTranscoder
      Creates a PNG image file for the given avatar based on the base avatar image file which should be in SVG format. The created file is also saved on disk. The subsequent requests for the same avatar and size will not trigger the conversion, previously saved file will be returned.
      Specified by:
      getOrCreateRasterizedAvatarFile in interface AvatarTranscoder
      Parameters:
      avatar - to be transcoded
      size - of requested raster
      inputStream - the data of the avatar to be transcoded
      Returns:
      a handle to avatar image file in PNG format
      Throws:
      IOException
    • transcodeAndTag

      public void transcodeAndTag(InputStream inputStream, OutputStream outputStream) throws IOException
      Description copied from interface: AvatarTranscoder
      Converts given SVG data to PNG format. The default avatar size will be used which is Avatar.Size.MEDIUM.
      Specified by:
      transcodeAndTag in interface AvatarTranscoder
      Parameters:
      inputStream - to be converted
      outputStream - to which the result should be written
      Throws:
      IOException
    • transcodeAndTag

      public byte[] transcodeAndTag(String imageKey, InputStream inputStream, Avatar.Size size) throws IOException
      Description copied from interface: AvatarTranscoder
      Converts a given SVG data to PNG format.

      This method will save the converted image to disk so that if the method is invoked once again with the same imageKey and size the previous result will be returned. Therefore it is very important to choose imageKey carefully - it should uniquely identify the image.

      Specified by:
      transcodeAndTag in interface AvatarTranscoder
      Parameters:
      imageKey - name of the file that
      inputStream - svg data
      size - size of the output
      Returns:
      byte array containing the PNG image
      Throws:
      IOException