Class FunctionFilePackage
- java.lang.Object
-
- org.apache.pulsar.functions.utils.FunctionFilePackage
-
- All Implemented Interfaces:
java.lang.AutoCloseable,ValidatableFunctionPackage
public class FunctionFilePackage extends java.lang.Object implements java.lang.AutoCloseable, ValidatableFunctionPackage
FunctionFilePackage is a class that represents a function package and implements the ValidatableFunctionPackage interface which decouples the function package from classloading.
-
-
Constructor Summary
Constructors Constructor Description FunctionFilePackage(java.io.File file, java.lang.String narExtractionDirectory, boolean enableClassloading, java.lang.Class<?> configClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()java.lang.ClassLoadergetClassLoader()Returns the classloader for the function package.java.io.FilegetFile()<T> TgetFunctionMetaData(java.lang.Class<T> clazz)Returns the function or connector definition metadata.net.bytebuddy.pool.TypePoolgetTypePool()Returns the Byte Buddy TypePool instance for the function package.booleanisEnableClassloading()Returns if classloading is enabled for the function package.booleanisNar()net.bytebuddy.description.type.TypeDescriptionresolveType(java.lang.String className)Resolves the type description for the given class name within the function package.java.lang.StringtoString()
-
-
-
Method Detail
-
resolveType
public net.bytebuddy.description.type.TypeDescription resolveType(java.lang.String className)
Description copied from interface:ValidatableFunctionPackageResolves the type description for the given class name within the function package.- Specified by:
resolveTypein interfaceValidatableFunctionPackage
-
isNar
public boolean isNar()
-
getFile
public java.io.File getFile()
-
getTypePool
public net.bytebuddy.pool.TypePool getTypePool()
Description copied from interface:ValidatableFunctionPackageReturns the Byte Buddy TypePool instance for the function package.- Specified by:
getTypePoolin interfaceValidatableFunctionPackage
-
getFunctionMetaData
public <T> T getFunctionMetaData(java.lang.Class<T> clazz)
Description copied from interface:ValidatableFunctionPackageReturns the function or connector definition metadata. Supports FunctionDefinition and ConnectorDefinition as the metadata type.- Specified by:
getFunctionMetaDatain interfaceValidatableFunctionPackage
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.io.IOException
-
isEnableClassloading
public boolean isEnableClassloading()
Description copied from interface:ValidatableFunctionPackageReturns if classloading is enabled for the function package.- Specified by:
isEnableClassloadingin interfaceValidatableFunctionPackage
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
Description copied from interface:ValidatableFunctionPackageReturns the classloader for the function package. The classloader is lazily initialized when classloading is enabled.- Specified by:
getClassLoaderin interfaceValidatableFunctionPackage
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-