class_docstr: Class to be used as a decorator to register all StreamPayload subclasses
class_docstr_tok: ["Class","to","be","used","as","a","decorator","to","register","all","StreamPayload","subclasses"]
docstr: Returns the subclass that should handle this particular service's records
  
  Args:
      service (str): The service identifier for this payload
  
  Returns:
      StreamPayload: Subclass of StreamPayload to use for processing incoming records
docstr_tok: ["Returns","the","subclass","that","should","handle","this","particular","service","'s","records","Args",":","service","(","str",")",":","The","service","identifier","for","this","payload","Returns",":","StreamPayload",":","Subclass","of","StreamPayload","to","use","for","processing","incoming","records"]
code: def _get_payload_class(cls, service):
      """Returns the subclass that should handle this particular service's records
  
      Args:
          service (str): The service identifier for this payload
  
      Returns:
          StreamPayload: Subclass of StreamPayload to use for processing incoming records
      """
      try:
          return cls._payload_classes[service]
      except KeyError:
          LOGGER.error(
              "Requested payload service [%s] does not exist", service
          )
  
imports: from abc import ABCMeta, abstractmethod, abstractproperty
  import json
  import logging
  import os
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 3 for calling the RegisterInput obj's underlying member method code with example usage: obj._get_payload_class(cls, service) and returns: cls