Package com.schibsted.spt.data.jslt.impl
Class ParseContext
- java.lang.Object
-
- com.schibsted.spt.data.jslt.impl.ParseContext
-
public class ParseContext extends java.lang.Object
Class to encapsulate context information like available functions, parser/compiler settings, and so on, during parsing.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Collection<Function>
extensions
private java.util.List<JstlFile>
files
Tracks all loaded JSLT files.private java.util.Collection<FunctionExpression>
funcalls
Function expressions, used for delayed name-to-function resolution.private java.util.Map<java.lang.String,Function>
functions
private java.util.Map<java.lang.String,Module>
modules
Imported modules listed under their prefixes.private java.util.Map<java.lang.String,Module>
namedModules
Named modules listed under their identifiers.private JsonFilter
objectFilter
Filter used to determine what object key/value pairs to keep.private ParseContext
parent
private PreparationContext
preparationContext
Variable declaration and usage tracking.private ResourceResolver
resolver
private java.lang.String
source
What file/resource are we parsing? Can be null, in cases where we don't have this information.
-
Constructor Summary
Constructors Constructor Description ParseContext(java.lang.String source)
ParseContext(java.util.Collection<Function> extensions, java.lang.String source, ResourceResolver resolver, java.util.Map<java.lang.String,Module> namedModules, java.util.List<JstlFile> files, PreparationContext preparationContext, JsonFilter objectFilter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDeclaredFunction(java.lang.String name, Function function)
java.util.Map<java.lang.String,Function>
getDeclaredFunctions()
java.util.Collection<Function>
getExtensions()
java.util.List<JstlFile>
getFiles()
Function
getFunction(java.lang.String name)
Callable
getImportedCallable(java.lang.String prefix, java.lang.String name, Location loc)
Macro
getMacro(java.lang.String name)
Module
getNamedModule(java.lang.String identifier)
java.util.Map<java.lang.String,Module>
getNamedModules()
JsonFilter
getObjectFilter()
PreparationContext
getPreparationContext()
ResourceResolver
getResolver()
java.lang.String
getSource()
boolean
isAlreadyImported(java.lang.String module)
void
registerJsltFile(JstlFile file)
void
registerModule(java.lang.String prefix, Module module)
void
rememberFunctionCall(FunctionExpression fun)
void
resolveFunctions()
void
setParent(ParseContext parent)
-
-
-
Field Detail
-
extensions
private java.util.Collection<Function> extensions
-
functions
private java.util.Map<java.lang.String,Function> functions
-
source
private java.lang.String source
What file/resource are we parsing? Can be null, in cases where we don't have this information.
-
modules
private java.util.Map<java.lang.String,Module> modules
Imported modules listed under their prefixes. This is scoped per source file, since each has a different name-module mapping.
-
files
private java.util.List<JstlFile> files
Tracks all loaded JSLT files. Shared between all contexts.
-
funcalls
private java.util.Collection<FunctionExpression> funcalls
Function expressions, used for delayed name-to-function resolution.
-
parent
private ParseContext parent
-
resolver
private ResourceResolver resolver
-
namedModules
private java.util.Map<java.lang.String,Module> namedModules
Named modules listed under their identifiers.
-
preparationContext
private PreparationContext preparationContext
Variable declaration and usage tracking.
-
objectFilter
private JsonFilter objectFilter
Filter used to determine what object key/value pairs to keep.
-
-
Constructor Detail
-
ParseContext
public ParseContext(java.util.Collection<Function> extensions, java.lang.String source, ResourceResolver resolver, java.util.Map<java.lang.String,Module> namedModules, java.util.List<JstlFile> files, PreparationContext preparationContext, JsonFilter objectFilter)
-
ParseContext
public ParseContext(java.lang.String source)
-
-
Method Detail
-
setParent
public void setParent(ParseContext parent)
-
getPreparationContext
public PreparationContext getPreparationContext()
-
getFunction
public Function getFunction(java.lang.String name)
-
getMacro
public Macro getMacro(java.lang.String name)
-
getSource
public java.lang.String getSource()
-
getExtensions
public java.util.Collection<Function> getExtensions()
-
addDeclaredFunction
public void addDeclaredFunction(java.lang.String name, Function function)
-
rememberFunctionCall
public void rememberFunctionCall(FunctionExpression fun)
-
resolveFunctions
public void resolveFunctions()
-
getDeclaredFunctions
public java.util.Map<java.lang.String,Function> getDeclaredFunctions()
-
registerModule
public void registerModule(java.lang.String prefix, Module module)
-
getNamedModule
public Module getNamedModule(java.lang.String identifier)
-
getNamedModules
public java.util.Map<java.lang.String,Module> getNamedModules()
-
isAlreadyImported
public boolean isAlreadyImported(java.lang.String module)
-
getImportedCallable
public Callable getImportedCallable(java.lang.String prefix, java.lang.String name, Location loc)
-
getResolver
public ResourceResolver getResolver()
-
getFiles
public java.util.List<JstlFile> getFiles()
-
registerJsltFile
public void registerJsltFile(JstlFile file)
-
getObjectFilter
public JsonFilter getObjectFilter()
-
-