Class ImageWriterRegistry
- java.lang.Object
-
- org.apache.xmlgraphics.image.writer.ImageWriterRegistry
-
public final class ImageWriterRegistry extends java.lang.ObjectRegistry forImageWriterimplementations.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.util.List<ImageWriter>>imageWriterMapprivate static ImageWriterRegistryinstanceprivate java.util.Map<java.lang.String,java.lang.Integer>preferredOrder
-
Constructor Summary
Constructors Constructor Description ImageWriterRegistry()Default constructor.ImageWriterRegistry(java.util.Properties preferredOrder)Special constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ImageWriterRegistrygetInstance()private intgetPriority(ImageWriter writer)ImageWritergetWriterFor(java.lang.String mime)Returns an ImageWriter that can be used to encode an image to the requested MIME type.voidregister(ImageWriter writer)Registers a new ImageWriter implementation in the registry.voidregister(ImageWriter writer, int priority)Registers a new ImageWriter implementation with the associated priority in the registry.private voidsetPreferredOrder(java.util.Properties preferredOrder)private voidsetup()
-
-
-
Field Detail
-
instance
private static volatile ImageWriterRegistry instance
-
imageWriterMap
private java.util.Map<java.lang.String,java.util.List<ImageWriter>> imageWriterMap
-
preferredOrder
private java.util.Map<java.lang.String,java.lang.Integer> preferredOrder
-
-
Constructor Detail
-
ImageWriterRegistry
public ImageWriterRegistry()
Default constructor. The default preferred order for the image writers is loaded from the resources.
-
ImageWriterRegistry
public ImageWriterRegistry(java.util.Properties preferredOrder)
Special constructor. The preferred order for the image writers can be specified as a Map (for example a Properties file). The entries of the Map consists of fully qualified class or package names as keys and integer numbers as values. Zero (0) is the default priority.- Parameters:
preferredOrder- the map of order properties used to order the plug-ins
-
-
Method Detail
-
setPreferredOrder
private void setPreferredOrder(java.util.Properties preferredOrder)
-
getInstance
public static ImageWriterRegistry getInstance()
- Returns:
- a singleton instance of the ImageWriterRegistry.
-
setup
private void setup()
-
getPriority
private int getPriority(ImageWriter writer)
-
register
public void register(ImageWriter writer, int priority)
Registers a new ImageWriter implementation with the associated priority in the registry. Higher priorities get preference over lower priorities.- Parameters:
writer- the ImageWriter instance to register.priority- the priority of the writer in the registry.- See Also:
register(ImageWriter)
-
register
public void register(ImageWriter writer)
Registers a new ImageWriter implementation in the registry. If an ImageWriter for the same target MIME type has already been registered, it is placed in an array based on priority.- Parameters:
writer- the ImageWriter instance to register.
-
getWriterFor
public ImageWriter getWriterFor(java.lang.String mime)
Returns an ImageWriter that can be used to encode an image to the requested MIME type.- Parameters:
mime- the MIME type of the desired output format- Returns:
- a functional ImageWriter instance handling the desired output format or null if none can be found.
-
-