# Source code for azure.mgmt.datafactory.models.text_format_py3

    # coding=utf-8
    # --------------------------------------------------------------------------
    # Copyright (c) Microsoft Corporation. All rights reserved.
    # Licensed under the MIT License. See License.txt in the project root for
    # license information.
    #
    # Code generated by Microsoft (R) AutoRest Code Generator.
    # Changes may cause incorrect behavior and will be lost if the code is
    # regenerated.
    # --------------------------------------------------------------------------

    from .dataset_storage_format_py3 import DatasetStorageFormat

    class TextFormat(DatasetStorageFormat):
        """The data stored in text format.

        All required parameters must be populated in order to send to Azure.

        :param additional_properties: Unmatched properties from the message are
         deserialized this collection
        :type additional_properties: dict[str, object]
        :param serializer: Serializer. Type: string (or Expression with resultType
         string).
        :type serializer: object
        :param deserializer: Deserializer. Type: string (or Expression with
         resultType string).
        :type deserializer: object
        :param type: Required. Constant filled by server.
        :type type: str
        :param column_delimiter: The column delimiter. Type: string (or Expression
         with resultType string).
        :type column_delimiter: object
        :param row_delimiter: The row delimiter. Type: string (or Expression with
         resultType string).
        :type row_delimiter: object
        :param escape_char: The escape character. Type: string (or Expression with
         resultType string).
        :type escape_char: object
        :param quote_char: The quote character. Type: string (or Expression with
         resultType string).
        :type quote_char: object
        :param null_value: The null value string. Type: string (or Expression with
         resultType string).
        :type null_value: object
        :param encoding_name: The code page name of the preferred encoding. If
         miss, the default value is ΓÇ£utf-8ΓÇ¥, unless BOM denotes another Unicode
         encoding. Refer to the ΓÇ£NameΓÇ¥ column of the table in the following
         link to set supported values:
         https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string
         (or Expression with resultType string).
        :type encoding_name: object
        :param treat_empty_as_null: Treat empty column values in the text file as
         null. The default value is true. Type: boolean (or Expression with
         resultType boolean).
        :type treat_empty_as_null: object
        :param skip_line_count: The number of lines/rows to be skipped when
         parsing text files. The default value is 0. Type: integer (or Expression
         with resultType integer).
        :type skip_line_count: object
        :param first_row_as_header: When used as input, treat the first row of
         data as headers. When used as output,write the headers into the output as
         the first row of data. The default value is false. Type: boolean (or
         Expression with resultType boolean).
        :type first_row_as_header: object
        """

        _validation = {
            'type': {'required': True},
        }

        _attribute_map = {
            'additional_properties': {'key': '', 'type': '{object}'},
            'serializer': {'key': 'serializer', 'type': 'object'},
            'deserializer': {'key': 'deserializer', 'type': 'object'},
            'type': {'key': 'type', 'type': 'str'},
            'column_delimiter': {'key': 'columnDelimiter', 'type': 'object'},
            'row_delimiter': {'key': 'rowDelimiter', 'type': 'object'},
            'escape_char': {'key': 'escapeChar', 'type': 'object'},
            'quote_char': {'key': 'quoteChar', 'type': 'object'},
            'null_value': {'key': 'nullValue', 'type': 'object'},
            'encoding_name': {'key': 'encodingName', 'type': 'object'},
            'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'},
            'skip_line_count': {'key': 'skipLineCount', 'type': 'object'},
            'first_row_as_header': {'key': 'firstRowAsHeader', 'type': 'object'},
        }

        def __init__(self, *, additional_properties=None, serializer=None, deserializer=None, column_delimiter=None, row_delimiter=None, escape_char=None, quote_char=None, null_value=None, encoding_name=None, treat_empty_as_null=None, skip_line_count=None, first_row_as_header=None, **kwargs) -> None:
            super(TextFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
            self.column_delimiter = column_delimiter
            self.row_delimiter = row_delimiter
            self.escape_char = escape_char
            self.quote_char = quote_char
            self.null_value = null_value
            self.encoding_name = encoding_name
            self.treat_empty_as_null = treat_empty_as_null
            self.skip_line_count = skip_line_count
            self.first_row_as_header = first_row_as_header
            self.type = 'TextFormat'