class_docstr: Abstract base extractor class.
  
  This is used mostly to maintain support for custom extractors.
code: def extract(self) -> OperatorLineage | None:
      fully_qualified_class_name = (
          self.operator.__class__.__module__
          + "."
          + self.operator.__class__.__name__
      )
      if fully_qualified_class_name in self.disabled_operators:
          self.log.debug(
              f"Skipping extraction for operator {self.operator.task_type} "
              "due to its presence in [openlineage] openlineage_disabled_for_operators."
          )
          return None
      return self._execute_extraction()
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from functools import cached_property
  from typing import TYPE_CHECKING
  from attrs import Factory, define
  from airflow.configuration import conf
  from airflow.utils.log.logging_mixin import LoggingMixin
  from airflow.utils.state import TaskInstanceState
label_desc: Use image node_id 6 for calling the BaseExtractor obj's underlying member method code with example usage: obj.extract() and returns: self, None