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.ObjectClass 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>extensionsprivate java.util.List<JstlFile>filesTracks all loaded JSLT files.private java.util.Collection<FunctionExpression>funcallsFunction expressions, used for delayed name-to-function resolution.private java.util.Map<java.lang.String,Function>functionsprivate java.util.Map<java.lang.String,Module>modulesImported modules listed under their prefixes.private java.util.Map<java.lang.String,Module>namedModulesNamed modules listed under their identifiers.private JsonFilterobjectFilterFilter used to determine what object key/value pairs to keep.private ParseContextparentprivate PreparationContextpreparationContextVariable declaration and usage tracking.private ResourceResolverresolverprivate java.lang.StringsourceWhat 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 voidaddDeclaredFunction(java.lang.String name, Function function)java.util.Map<java.lang.String,Function>getDeclaredFunctions()java.util.Collection<Function>getExtensions()java.util.List<JstlFile>getFiles()FunctiongetFunction(java.lang.String name)CallablegetImportedCallable(java.lang.String prefix, java.lang.String name, Location loc)MacrogetMacro(java.lang.String name)ModulegetNamedModule(java.lang.String identifier)java.util.Map<java.lang.String,Module>getNamedModules()JsonFiltergetObjectFilter()PreparationContextgetPreparationContext()ResourceResolvergetResolver()java.lang.StringgetSource()booleanisAlreadyImported(java.lang.String module)voidregisterJsltFile(JstlFile file)voidregisterModule(java.lang.String prefix, Module module)voidrememberFunctionCall(FunctionExpression fun)voidresolveFunctions()voidsetParent(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()
-
-