@@ -227,9 +227,7 @@ object CometIcebergNativeScan extends CometOperatorSerde[CometBatchScanExec] wit
227227 fileScanTaskClass : Class [_],
228228 fileIO : Option [Any ]): Seq [OperatorOuterClass .IcebergDeleteFile ] = {
229229 try {
230- // scalastyle:off classforname
231- val deleteFileClass = Class .forName(IcebergReflection .ClassNames .DELETE_FILE )
232- // scalastyle:on classforname
230+ val deleteFileClass = IcebergReflection .loadClass(IcebergReflection .ClassNames .DELETE_FILE )
233231
234232 val deletes = IcebergReflection .getDeleteFilesFromTask(task, fileScanTaskClass)
235233
@@ -336,13 +334,11 @@ object CometIcebergNativeScan extends CometOperatorSerde[CometBatchScanExec] wit
336334 if (spec != null ) {
337335 // Deduplicate partition spec
338336 try {
339- // scalastyle:off classforname
340337 val partitionSpecParserClass =
341- Class .forName (IcebergReflection .ClassNames .PARTITION_SPEC_PARSER )
338+ IcebergReflection .loadClass (IcebergReflection .ClassNames .PARTITION_SPEC_PARSER )
342339 val toJsonMethod = partitionSpecParserClass.getMethod(
343340 " toJson" ,
344- Class .forName(IcebergReflection .ClassNames .PARTITION_SPEC ))
345- // scalastyle:on classforname
341+ IcebergReflection .loadClass(IcebergReflection .ClassNames .PARTITION_SPEC ))
346342 val partitionSpecJson = toJsonMethod
347343 .invoke(null , spec)
348344 .asInstanceOf [String ]
@@ -685,9 +681,7 @@ object CometIcebergNativeScan extends CometOperatorSerde[CometBatchScanExec] wit
685681 */
686682 private def convertIcebergLiteral (icebergLiteral : Any , sparkType : DataType ): Literal = {
687683 // Load Literal interface to get value() method (use interface to avoid package-private issues)
688- // scalastyle:off classforname
689- val literalClass = Class .forName(IcebergReflection .ClassNames .LITERAL )
690- // scalastyle:on classforname
684+ val literalClass = IcebergReflection .loadClass(IcebergReflection .ClassNames .LITERAL )
691685 val valueMethod = literalClass.getMethod(" value" )
692686 val value = valueMethod.invoke(icebergLiteral)
693687
@@ -790,13 +784,16 @@ object CometIcebergNativeScan extends CometOperatorSerde[CometBatchScanExec] wit
790784 }
791785
792786 // Load Iceberg classes once (avoid repeated class loading in loop)
793- // scalastyle:off classforname
794- val contentScanTaskClass = Class .forName(IcebergReflection .ClassNames .CONTENT_SCAN_TASK )
795- val fileScanTaskClass = Class .forName(IcebergReflection .ClassNames .FILE_SCAN_TASK )
796- val contentFileClass = Class .forName(IcebergReflection .ClassNames .CONTENT_FILE )
797- val schemaParserClass = Class .forName(IcebergReflection .ClassNames .SCHEMA_PARSER )
798- val schemaClass = Class .forName(IcebergReflection .ClassNames .SCHEMA )
799- // scalastyle:on classforname
787+ val contentScanTaskClass =
788+ IcebergReflection .loadClass(IcebergReflection .ClassNames .CONTENT_SCAN_TASK )
789+ val fileScanTaskClass =
790+ IcebergReflection .loadClass(IcebergReflection .ClassNames .FILE_SCAN_TASK )
791+ val contentFileClass =
792+ IcebergReflection .loadClass(IcebergReflection .ClassNames .CONTENT_FILE )
793+ val schemaParserClass =
794+ IcebergReflection .loadClass(IcebergReflection .ClassNames .SCHEMA_PARSER )
795+ val schemaClass =
796+ IcebergReflection .loadClass(IcebergReflection .ClassNames .SCHEMA )
800797
801798 // Cache method lookups (avoid repeated getMethod in loop)
802799 val fileMethod = contentScanTaskClass.getMethod(" file" )
0 commit comments