fun parse()

in src/main/kotlin/org/opensearch/commons/notifications/model/Attachment.kt [66:94]


        fun parse(parser: XContentParser): Attachment {
            var fileName: String? = null
            var fileEncoding: String? = null
            var fileData: String? = null
            var fileContentType: String? = null
            XContentParserUtils.ensureExpectedToken(
                XContentParser.Token.START_OBJECT,
                parser.currentToken(),
                parser
            )
            while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
                val dataType = parser.currentName()
                parser.nextToken()
                when (dataType) {
                    FILE_NAME_TAG -> fileName = parser.text()
                    FILE_ENCODING_TAG -> fileEncoding = parser.text()
                    FILE_DATA_TAG -> fileData = parser.text()
                    FILE_CONTENT_TYPE_TAG -> fileContentType = parser.textOrNull()
                    else -> {
                        parser.skipChildren()
                        log.info("Skipping Unknown field $dataType")
                    }
                }
            }
            fileName ?: throw IllegalArgumentException("attachment:fileName not present")
            fileEncoding ?: throw IllegalArgumentException("attachment:fileEncoding not present")
            fileData ?: throw IllegalArgumentException("attachment:fileData not present")
            return Attachment(fileName, fileEncoding, fileData, fileContentType)
        }