Class BuiltinFunctionLoader


  • public class BuiltinFunctionLoader
    extends java.lang.Object
    Use BuiltinFunctionLoader.getInstance() to obtain the instance.
    • Field Detail

      • DEFAULT_MAPPER

        private static final com.fasterxml.jackson.databind.ObjectMapper DEFAULT_MAPPER
      • CONFIG_PATH

        private static final java.lang.String CONFIG_PATH
    • Constructor Detail

      • BuiltinFunctionLoader

        private BuiltinFunctionLoader()
    • Method Detail

      • resolvePath

        private static java.lang.String resolvePath​(java.lang.Class<?> clazz,
                                                    java.lang.String name)
        Dynamically resolve the path for a resource as packages may be relocated, e.g. by the maven-shade-plugin.
      • listFunctions

        public java.util.Map<java.lang.String,​Function> listFunctions​(java.lang.ClassLoader classLoader,
                                                                            Version version,
                                                                            Scope closureScope)
        Load function definitions from the default resource from an arbitrary ClassLoader. E.g. in an OSGi context this may be the Bundle's ClassLoader.
      • listFunctions

        public java.util.Map<java.lang.String,​Function> listFunctions​(Version version,
                                                                            Scope closureScope)
      • loadFunctions

        public void loadFunctions​(Version version,
                                  Scope closureScope)
      • loadFunctions

        public void loadFunctions​(java.lang.ClassLoader classLoader,
                                  Version version,
                                  Scope closureScope)
      • loadConfig

        private static java.util.List<JqJson> loadConfig​(java.lang.ClassLoader loader,
                                                         java.lang.String path)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • extractFunctionNamesFromAnnotationIfVersionMatch

        private static java.lang.String[] extractFunctionNamesFromAnnotationIfVersionMatch​(Function fn,
                                                                                           Version version)
      • extractFunctionNamesFromDeprecatedAnnotationIfVersionMatch

        private static java.lang.String[] extractFunctionNamesFromDeprecatedAnnotationIfVersionMatch​(Function fn,
                                                                                                     Version version)
      • loadFunctionsFromServiceLoader

        public java.util.Map<java.lang.String,​Function> loadFunctionsFromServiceLoader​(java.lang.ClassLoader classLoader,
                                                                                             Version version)
        Do not use this method. This method is only for Quarkus extension.
      • loadFunctionsFromJsonJq

        public java.util.Map<java.lang.String,​Function> loadFunctionsFromJsonJq​(java.lang.ClassLoader classLoader,
                                                                                      Version version,
                                                                                      Scope closureScope)
        Do not use this method. This method is only for Quarkus extension.