Class ImageCacher

    • Field Detail

      • imageCache

        java.util.Map imageCache
      • checkSum

        java.util.zip.Checksum checkSum
    • Constructor Detail

      • ImageCacher

        public ImageCacher()
        Creates an ImageCacher.
      • ImageCacher

        public ImageCacher​(DOMTreeManager domTreeManager)
        Creates an ImageCacher.
        Parameters:
        domTreeManager - the DOMTreeManager for the tree this cacher works on
    • Method Detail

      • setDOMTreeManager

        public void setDOMTreeManager​(DOMTreeManager domTreeManager)
        Sets the DOMTreeManager this cacher should work on.
        Parameters:
        domTreeManager - the DOMTreeManager for the tree this cacher works on
      • lookup

        public java.lang.String lookup​(java.io.ByteArrayOutputStream os,
                                       int width,
                                       int height,
                                       SVGGeneratorContext ctx)
                                throws SVGGraphics2DIOException
        Checks if the image is already in the cache, and adds it if not. Returns a unique id for the entry.
        Parameters:
        os - the image as a byte stream
        width - the width of the image
        height - the height of the image
        ctx - the SVGGeneratorContext
        Returns:
        a URI for the image
        Throws:
        SVGGraphics2DIOException - if an error occurs during image file i/o
      • getCacheableData

        abstract java.lang.Object getCacheableData​(java.io.ByteArrayOutputStream os)
        Returns an object which can be cached. Implementation must determine which information should actually be stored.
        Parameters:
        os - the byte stream which is to be coerced
      • imagesMatch

        abstract boolean imagesMatch​(java.lang.Object o1,
                                     java.lang.Object o2)
                              throws SVGGraphics2DIOException
        Determines if two images are equal. Interpretation of the objects referred to by o1 and o2 is entirely implementation-dependent.
        Parameters:
        o1 - object referring to one image
        o2 - object referring to the other image
        Throws:
        SVGGraphics2DIOException
      • getChecksum

        int getChecksum​(byte[] data)
        Calculates a checksum value for the given data.