Class 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 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.
      • 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.lang.String source)
    • Method Detail

      • setParent

        public void setParent​(ParseContext parent)
      • 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)
      • 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)
      • getFiles

        public java.util.List<JstlFile> getFiles()
      • registerJsltFile

        public void registerJsltFile​(JstlFile file)
      • getObjectFilter

        public JsonFilter getObjectFilter()