Class FileSystemModuleLoader
- java.lang.Object
-
- net.thisptr.jackson.jq.module.loaders.FileSystemModuleLoader
-
- All Implemented Interfaces:
ModuleLoader
public class FileSystemModuleLoader extends java.lang.Object implements ModuleLoader
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
FileSystemModuleLoader.FileSystemModule
private static class
FileSystemModuleLoader.ModuleFile
private static class
FileSystemModuleLoader.TryOnce<T>
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ConcurrentHashMap<Pair<java.nio.file.Path,java.lang.String>,FileSystemModuleLoader.TryOnce<com.fasterxml.jackson.databind.JsonNode>>
loadedData
private java.util.concurrent.ConcurrentHashMap<Pair<java.nio.file.Path,java.lang.String>,FileSystemModuleLoader.TryOnce<Module>>
loadedModules
private static com.fasterxml.jackson.databind.ObjectMapper
MAPPER
private Scope
parentScope
private java.util.List<java.nio.file.Path>
searchPaths
private Version
version
-
Constructor Summary
Constructors Constructor Description FileSystemModuleLoader(Scope parentScope, Version version, java.nio.file.Path... searchPaths)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.fasterxml.jackson.databind.JsonNode
loadData(Module caller, java.lang.String path, com.fasterxml.jackson.databind.JsonNode metadata)
private com.fasterxml.jackson.databind.JsonNode
loadDataActual(java.nio.file.Path searchPath, java.lang.String path)
Module
loadModule(Module caller, java.lang.String path, com.fasterxml.jackson.databind.JsonNode metadata)
private Module
loadModuleActual(java.nio.file.Path searchPath, java.lang.String path)
private static FileSystemModuleLoader.ModuleFile
loadModuleFile(java.nio.file.Path searchPath, java.lang.String path, java.lang.String ext)
private static java.nio.file.Path
resolveModulePath(java.nio.file.Path searchPath, java.lang.String path)
private Pair<java.util.List<java.nio.file.Path>,java.lang.String>
resolvePathsFromImportDirective(Module caller, java.lang.String path, com.fasterxml.jackson.databind.JsonNode metadata)
-
-
-
Field Detail
-
searchPaths
private final java.util.List<java.nio.file.Path> searchPaths
-
version
private final Version version
-
parentScope
private final Scope parentScope
-
loadedModules
private final java.util.concurrent.ConcurrentHashMap<Pair<java.nio.file.Path,java.lang.String>,FileSystemModuleLoader.TryOnce<Module>> loadedModules
-
loadedData
private final java.util.concurrent.ConcurrentHashMap<Pair<java.nio.file.Path,java.lang.String>,FileSystemModuleLoader.TryOnce<com.fasterxml.jackson.databind.JsonNode>> loadedData
-
MAPPER
private static final com.fasterxml.jackson.databind.ObjectMapper MAPPER
-
-
Method Detail
-
resolveModulePath
private static final java.nio.file.Path resolveModulePath(java.nio.file.Path searchPath, java.lang.String path)
-
loadModuleFile
private static FileSystemModuleLoader.ModuleFile loadModuleFile(java.nio.file.Path searchPath, java.lang.String path, java.lang.String ext) throws java.io.IOException
- Throws:
java.io.IOException
-
loadModuleActual
private Module loadModuleActual(java.nio.file.Path searchPath, java.lang.String path) throws java.io.IOException
- Throws:
java.io.IOException
-
resolvePathsFromImportDirective
private Pair<java.util.List<java.nio.file.Path>,java.lang.String> resolvePathsFromImportDirective(Module caller, java.lang.String path, com.fasterxml.jackson.databind.JsonNode metadata) throws JsonQueryException
- Throws:
JsonQueryException
-
loadModule
public Module loadModule(Module caller, java.lang.String path, com.fasterxml.jackson.databind.JsonNode metadata) throws JsonQueryException
- Specified by:
loadModule
in interfaceModuleLoader
- Throws:
JsonQueryException
-
loadData
public com.fasterxml.jackson.databind.JsonNode loadData(Module caller, java.lang.String path, com.fasterxml.jackson.databind.JsonNode metadata) throws JsonQueryException
- Specified by:
loadData
in interfaceModuleLoader
- Throws:
JsonQueryException
-
loadDataActual
private com.fasterxml.jackson.databind.JsonNode loadDataActual(java.nio.file.Path searchPath, java.lang.String path) throws java.io.IOException
- Throws:
java.io.IOException
-
-