Class AbstractFileConfigFileLoader
- java.lang.Object
-
- org.mapfish.print.servlet.fileloader.AbstractFileConfigFileLoader
-
- All Implemented Interfaces:
ConfigFileLoaderPlugin
- Direct Known Subclasses:
FileConfigFileLoader
,ServletConfigFileLoader
public abstract class AbstractFileConfigFileLoader extends java.lang.Object implements ConfigFileLoaderPlugin
Abstract implementation for files that are on the local file system.
-
-
Constructor Summary
Constructors Constructor Description AbstractFileConfigFileLoader()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
isAccessible(java.net.URI fileURI)
Check if the configuration File exists.boolean
isAccessible(java.net.URI configFileUri, java.lang.String pathToSubResource)
check if the file exists and can be accessed by the user/template/config/etc...java.util.Optional<java.lang.Long>
lastModified(java.net.URI fileURI)
return the last modified time of the file URI.byte[]
loadFile(java.net.URI fileURI)
Load the config data.byte[]
loadFile(java.net.URI configFileUri, java.lang.String pathToSubResource)
Load the file related to the configuration file.protected static java.io.File
platformIndependentUriToFile(java.net.URI fileURI)
Convert a url to a file object.protected abstract java.util.Iterator<java.io.File>
resolveFiles(java.net.URI fileURI)
Load the files referenced by the id (in the case of a classpath uri it could references several files, although normally it will only reference one).java.util.Optional<java.io.File>
toFile(java.net.URI fileUri)
Return the file object the uri refers to if it refers to a file.java.util.Optional<java.io.File>
toFile(java.net.URI configFileUri, java.lang.String pathToSubResource)
Return the file object the uri refers to if it refers to a file.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.mapfish.print.servlet.fileloader.ConfigFileLoaderPlugin
getUriScheme
-
-
-
-
Method Detail
-
platformIndependentUriToFile
protected static java.io.File platformIndependentUriToFile(java.net.URI fileURI)
Convert a url to a file object. No checks are made to see if file exists but there are some hacks that are needed to convert uris to files across platforms.- Parameters:
fileURI
- the uri to convert
-
resolveFiles
protected abstract java.util.Iterator<java.io.File> resolveFiles(java.net.URI fileURI)
Load the files referenced by the id (in the case of a classpath uri it could references several files, although normally it will only reference one).- Parameters:
fileURI
- the uri identifying the config file.
-
toFile
public final java.util.Optional<java.io.File> toFile(java.net.URI fileUri)
Description copied from interface:ConfigFileLoaderPlugin
Return the file object the uri refers to if it refers to a file. Otherwise Optional.absent().- Specified by:
toFile
in interfaceConfigFileLoaderPlugin
- Parameters:
fileUri
- the uri to use to resolve to a file (or not).
-
lastModified
public final java.util.Optional<java.lang.Long> lastModified(java.net.URI fileURI)
Description copied from interface:ConfigFileLoaderPlugin
return the last modified time of the file URI.- Specified by:
lastModified
in interfaceConfigFileLoaderPlugin
- Parameters:
fileURI
- the uri of the config file to load.- Returns:
- return the last modified date of the file
-
isAccessible
public final boolean isAccessible(java.net.URI fileURI)
Description copied from interface:ConfigFileLoaderPlugin
Check if the configuration File exists.- Specified by:
isAccessible
in interfaceConfigFileLoaderPlugin
- Parameters:
fileURI
- the uri of the file to load.
-
loadFile
public final byte[] loadFile(java.net.URI fileURI) throws java.io.IOException
Description copied from interface:ConfigFileLoaderPlugin
Load the config data.- Specified by:
loadFile
in interfaceConfigFileLoaderPlugin
- Parameters:
fileURI
- the uri of the config file to load.- Returns:
- the file that make up the file.
- Throws:
java.io.IOException
-
isAccessible
public final boolean isAccessible(java.net.URI configFileUri, java.lang.String pathToSubResource) throws java.io.IOException
Description copied from interface:ConfigFileLoaderPlugin
check if the file exists and can be accessed by the user/template/config/etc...- Specified by:
isAccessible
in interfaceConfigFileLoaderPlugin
- Parameters:
configFileUri
- the uri of the configuration filepathToSubResource
- a string representing a file that is accessible for use in printing templates within the configuration file. In the case of a file based URI the path could be a relative path (relative to the configuration file) or an absolute path, but it must be an allowed file (you can't allow access to any file on the file system).- Throws:
java.io.IOException
-
loadFile
public final byte[] loadFile(java.net.URI configFileUri, java.lang.String pathToSubResource) throws java.io.IOException
Description copied from interface:ConfigFileLoaderPlugin
Load the file related to the configuration file.- Specified by:
loadFile
in interfaceConfigFileLoaderPlugin
- Parameters:
configFileUri
- the uri of the configuration filepathToSubResource
- a string representing a file that is accessible for use in printing templates within the configuration file. In the case of a file based URI the path could be a relative path (relative to the configuration file) or an absolute path, but it must be an allowed file (you can't allow access to any file on the file system).- Throws:
java.io.IOException
-
toFile
public java.util.Optional<java.io.File> toFile(java.net.URI configFileUri, java.lang.String pathToSubResource)
Description copied from interface:ConfigFileLoaderPlugin
Return the file object the uri refers to if it refers to a file. Otherwise Optional.absent().- Specified by:
toFile
in interfaceConfigFileLoaderPlugin
- Parameters:
configFileUri
- the uri of the configuration filepathToSubResource
- a string representing a file that is accessible for use in printing templates within the configuration file. In the case of a file based URI the path could be a relative path (relative to the configuration file) or an absolute path, but it must be an allowed file (you can't allow access to any file on the file system).
-
-