Package org.mapfish.print.servlet
Class ServletMapPrinterFactory
java.lang.Object
org.mapfish.print.servlet.ServletMapPrinterFactory
- All Implemented Interfaces:
MapPrinterFactory
A
MapPrinterFactory
that reads configuration from files and uses
servlet's methods for resolving the paths to the files.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal MapPrinter
Creates the appropriate map printer.Return the set of app ids that are available.final void
setAppsRootDirectory
(String directory) Set a single directory that contains one or more subdirectories, each one that contains a config.yaml file will be considered a print app.final void
setConfigurationFiles
(Map<String, String> configurationFiles) The setter for setting configuration file.
-
Field Details
-
DEFAULT_CONFIGURATION_FILE_KEY
The name of the default app. This is always required to be one of the apps that are registered.- See Also:
-
-
Constructor Details
-
ServletMapPrinterFactory
public ServletMapPrinterFactory()
-
-
Method Details
-
create
Description copied from interface:MapPrinterFactory
Creates the appropriate map printer.- Specified by:
create
in interfaceMapPrinterFactory
- Parameters:
app
- an identifier that controls which configuration to use.- Throws:
NoSuchAppException
-
getAppIds
Description copied from interface:MapPrinterFactory
Return the set of app ids that are available.- Specified by:
getAppIds
in interfaceMapPrinterFactory
-
setConfigurationFiles
public final void setConfigurationFiles(Map<String, String> configurationFiles) throws URISyntaxExceptionThe setter for setting configuration file. It will convert the value to a URI.- Parameters:
configurationFiles
- the configuration file map.- Throws:
URISyntaxException
-
setAppsRootDirectory
Set a single directory that contains one or more subdirectories, each one that contains a config.yaml file will be considered a print app.This can be called multiple times and each directory will add to the apps found in the other directories. However the appId is based on the directory names so if there are 2 directories with the same name the second will overwrite the first encounter.
- Parameters:
directory
- the root directory containing the sub-app-directories. This must resolve to a file with the- Throws:
URISyntaxException
IOException
-