def _gen_param_header(name, doc, defaultValueStr, typeConverter):
    """
    Generates the header part for shared variables

    :param name: param name
    :param doc: param doc
    """
    template = '''class Has$Name(Params):
    """
    Mixin for param $name: $doc
    """

    $name = Param(Params._dummy(), "$name", "$doc", typeConverter=$typeConverter)

    def __init__(self):
        super(Has$Name, self).__init__()'''

    if defaultValueStr is not None:
        template += '''
        self._setDefault($name=$defaultValueStr)'''

    Name = name[0].upper() + name[1:]
    if typeConverter is None:
        typeConverter = str(None)
    return template \
        .replace("$name", name) \
        .replace("$Name", Name) \
        .replace("$doc", doc) \
        .replace("$defaultValueStr", str(defaultValueStr)) \
        .replace("$typeConverter", typeConverter)
def _gen_param_header ( name , doc , defaultValueStr , typeConverter ) : template = '''class Has$Name(Params):
    """
    Mixin for param $name: $doc
    """
    $name = Param(Params._dummy(), "$name", "$doc", typeConverter=$typeConverter)
    def __init__(self):
        super(Has$Name, self).__init__()''' if defaultValueStr is not None : template += '''
        self._setDefault($name=$defaultValueStr)''' Name = name [ 0 ] . upper ( ) + name [ 1 : ] if typeConverter is None : typeConverter = str ( None ) return template . replace ( "$name" , name ) . replace ( "$Name" , Name ) . replace ( "$doc" , doc ) . replace ( "$defaultValueStr" , str ( defaultValueStr ) ) . replace ( "$typeConverter" , typeConverter )
Generates the header part for shared variables

    :param name: param name
    :param doc: param doc