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

    Modifier and Type
    Method
    Description
    Returns the classloader for the function package.
    <T> T
    Returns the function or connector definition metadata.
    net.bytebuddy.pool.TypePool
    Returns the Byte Buddy TypePool instance for the function package.
    boolean
    Returns if classloading is enabled for the function package.
    net.bytebuddy.description.type.TypeDescription
    resolveType(String className)
    Resolves the type description for the given class name within the function package.
  • Method Details

    • resolveType

      net.bytebuddy.description.type.TypeDescription resolveType(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(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

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