Interface ValidatableFunctionPackage

  • All Known Implementing Classes:
    FunctionFilePackage, LoadedFunctionPackage

    public interface ValidatableFunctionPackage
    This abstraction separates the function and connector definition from classloading, enabling validation without the need for classloading. It utilizes Byte Buddy for type and annotation resolution. The function or connector definition is directly extracted from the archive file, eliminating the need for classloader initialization. The getClassLoader method should only be invoked when classloading is enabled. Classloading is required in the LocalRunner and in the Functions worker when the worker is configured with the 'validateConnectorConfig' set to true.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.ClassLoader getClassLoader()
      Returns the classloader for the function package.
      <T> T getFunctionMetaData​(java.lang.Class<T> clazz)
      Returns the function or connector definition metadata.
      net.bytebuddy.pool.TypePool getTypePool()
      Returns the Byte Buddy TypePool instance for the function package.
      boolean isEnableClassloading()
      Returns if classloading is enabled for the function package.
      net.bytebuddy.description.type.TypeDescription resolveType​(java.lang.String className)
      Resolves the type description for the given class name within the function package.
    • Method Detail

      • resolveType

        net.bytebuddy.description.type.TypeDescription resolveType​(java.lang.String className)
        Resolves the type description for the given class name within the function package.
      • getTypePool

        net.bytebuddy.pool.TypePool getTypePool()
        Returns the Byte Buddy TypePool instance for the function package.
      • getFunctionMetaData

        <T> T getFunctionMetaData​(java.lang.Class<T> clazz)
        Returns the function or connector definition metadata. Supports FunctionDefinition and ConnectorDefinition as the metadata type.
      • isEnableClassloading

        boolean isEnableClassloading()
        Returns if classloading is enabled for the function package.
      • getClassLoader

        java.lang.ClassLoader getClassLoader()
        Returns the classloader for the function package. The classloader is lazily initialized when classloading is enabled.