class_docstr: Static factory to handle UDFWrapper instantiation at runtime.
docstr: Instantiate a UDFWrapper based on the FeatureProcessingMode.
  
  Args:
      fp_config (FeatureProcessorConfig): the configuration values for the
          feature_processor decorator.
  
  Raises:
      ValueError: if an unsupported FeatureProcessorMode is provided in fp_config.
  
  Returns:
      UDFWrapper: An instance of UDFWrapper to decorate the UDF.
docstr_tok: ["Instantiate","a","UDFWrapper","based","on","the","FeatureProcessingMode",".","Args",":","fp_config","(","FeatureProcessorConfig",")",":","the","configuration","values","for","the","feature_processor","decorator",".","Raises",":","ValueError",":","if","an","unsupported","FeatureProcessorMode","is","provided","in","fp_config",".","Returns",":","UDFWrapper",":","An","instance","of","UDFWrapper","to","decorate","the","UDF","."]
code: def get_udf_wrapper(fp_config: FeatureProcessorConfig) -> UDFWrapper:
      """Instantiate a UDFWrapper based on the FeatureProcessingMode.
  
      Args:
          fp_config (FeatureProcessorConfig): the configuration values for the
              feature_processor decorator.
  
      Raises:
          ValueError: if an unsupported FeatureProcessorMode is provided in fp_config.
  
      Returns:
          UDFWrapper: An instance of UDFWrapper to decorate the UDF.
      """
      mode = fp_config.mode
  
      if FeatureProcessorMode.PYSPARK == mode:
          return UDFWrapperFactory._get_spark_udf_wrapper(fp_config)
  
      raise ValueError(f"FeatureProcessorMode {mode} is not supported.")
  
imports: from __future__ import absolute_import
  from typing import Dict
  from pyspark.sql import DataFrame
  from sagemaker.feature_store.feature_processor._enums import FeatureProcessorMode
  from sagemaker.feature_store.feature_processor._env import EnvironmentHelper
  from sagemaker.feature_store.feature_processor._feature_processor_config import FeatureProcessorConfig
  from sagemaker.feature_store.feature_processor._input_loader import SparkDataFrameInputLoader
  from sagemaker.feature_store.feature_processor._params_loader import ParamsLoader, SystemParamsLoader
  from sagemaker.feature_store.feature_processor._spark_factory import FeatureStoreManagerFactory, SparkSessionFactory
  from sagemaker.feature_store.feature_processor._udf_arg_provider import SparkArgProvider
  from sagemaker.feature_store.feature_processor._udf_output_receiver import SparkOutputReceiver
  from sagemaker.feature_store.feature_processor._udf_wrapper import UDFWrapper
  from sagemaker.feature_store.feature_processor._validation import FeatureProcessorArgValidator, InputValidator, SparkUDFSignatureValidator, InputOffsetValidator, BaseDataSourceValidator, ValidatorChain
label_desc: Use image node_id 1 for calling the UDFWrapperFactory obj's underlying member method code with example usage: obj.get_udf_wrapper(fp_config) and returns: UDFWrapperFactory