class_docstr: A repository mapping names -> publishers
  
  As a usability optimization, using this Repository will eagerly load and register all
  publishers in the application.
class_docstr_tok: ["A","repository","mapping","names","-",">","publishers","As","a","usability","optimization",",","using","this","Repository","will","eagerly","load","and","register","all","publishers","in","the","application","."]
docstr: Given a class or function, will return its fully qualified name.
  
  This is useful for assigning a unique string name for a publisher.
  
  Args:
      class_or_function (callable|Class): A reference to a python function or class
  
  Returns:
      string
docstr_tok: ["Given","a","class","or","function",",","will","return","its","fully","qualified","name",".","This","is","useful","for","assigning","a","unique","string","name","for","a","publisher",".","Args",":","class_or_function","(","callable|Class",")",":","A","reference","to","a","python","function","or","class","Returns",":","string"]
code: def get_publisher_name(class_or_function):
      """Given a class or function, will return its fully qualified name.
  
      This is useful for assigning a unique string name for a publisher.
  
      Args:
          class_or_function (callable|Class): A reference to a python function or class
  
      Returns:
          string
      """
      return "{}.{}".format(
          class_or_function.__module__, class_or_function.__name__
      )
  
imports: from abc import abstractmethod
  from copy import deepcopy
  from inspect import isclass
  from streamalert.shared.config import load_config
  from streamalert.shared.importer import import_folders
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 3 for calling the AlertPublisherRepository obj's underlying member method code with example usage: obj.get_publisher_name(class_or_function) and returns: str