class_docstr: A :class:`~StatementSet` accepts pipelines defined by DML statements or :class:`~Table` objects.
  The planner can optimize all added statements together and then submit them as one job.
  
  The added statements will be cleared when calling the :func:`~StatementSet.execute` method.
  
  .. versionadded:: 1.11.0
docstr: returns the AST and the execution plan of all statements and Tables.
  
  :param extra_details: The extra explain details which the explain result should include,
                        e.g. estimated cost, changelog mode for streaming
  :return: All statements and Tables for which the AST and execution plan will be returned.
  
  .. versionadded:: 1.11.0
docstr_tok: ["returns","the","AST","and","the","execution","plan","of","all","statements","and","Tables",".",":","param","extra_details",":","The","extra","explain","details","which","the","explain","result","should","include",",","e.g",".","estimated","cost",",","changelog","mode","for","streaming",":","return",":","All","statements","and","Tables","for","which","the","AST","and","execution","plan","will","be","returned",".","..","versionadded",":",":","1.11.0"]
code: def explain(self, *extra_details: ExplainDetail) -> str:
      """
      returns the AST and the execution plan of all statements and Tables.
  
      :param extra_details: The extra explain details which the explain result should include,
                            e.g. estimated cost, changelog mode for streaming
      :return: All statements and Tables for which the AST and execution plan will be returned.
  
      .. versionadded:: 1.11.0
      """
      TEXT = (
          get_gateway().jvm.org.apache.flink.table.api.ExplainFormat.TEXT
      )
      j_extra_details = to_j_explain_detail_arr(extra_details)
      return self._j_statement_set.explain(TEXT, j_extra_details)
  
file_path: flink/flink-python/pyflink/table/statement_set.py
imports: from typing import Union
  from pyflink.java_gateway import get_gateway
  from pyflink.table import ExplainDetail
  from pyflink.table.table_descriptor import TableDescriptor
  from pyflink.table.table_result import TableResult
  from pyflink.util.java_utils import to_j_explain_detail_arr
label_desc: Use image node_id 5 for calling the StatementSet obj's underlying member method code with example usage: obj.explain() and returns: self