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 classFileSystemModuleLoader.FileSystemModuleprivate static classFileSystemModuleLoader.ModuleFileprivate static classFileSystemModuleLoader.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>>loadedDataprivate java.util.concurrent.ConcurrentHashMap<Pair<java.nio.file.Path,java.lang.String>,FileSystemModuleLoader.TryOnce<Module>>loadedModulesprivate static com.fasterxml.jackson.databind.ObjectMapperMAPPERprivate ScopeparentScopeprivate java.util.List<java.nio.file.Path>searchPathsprivate Versionversion
-
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.JsonNodeloadData(Module caller, java.lang.String path, com.fasterxml.jackson.databind.JsonNode metadata)private com.fasterxml.jackson.databind.JsonNodeloadDataActual(java.nio.file.Path searchPath, java.lang.String path)ModuleloadModule(Module caller, java.lang.String path, com.fasterxml.jackson.databind.JsonNode metadata)private ModuleloadModuleActual(java.nio.file.Path searchPath, java.lang.String path)private static FileSystemModuleLoader.ModuleFileloadModuleFile(java.nio.file.Path searchPath, java.lang.String path, java.lang.String ext)private static java.nio.file.PathresolveModulePath(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:
loadModulein 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:
loadDatain 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
-
-