Coverage Summary for Class: FunctionBuilder (com.kotlinorm.interfaces)

Class Method, % Branch, % Line, % Instruction, %
FunctionBuilder$DefaultImpls 100% (1/1) 100% (1/1) 100% (8/8)
Total 100% (1/1) 100% (1/1) 100% (8/8)


 /**
  * Copyright 2022-2025 kronos-orm
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package com.kotlinorm.interfaces
 
 import com.kotlinorm.beans.dsl.FunctionField
 import com.kotlinorm.enums.DBType
 
 /**
  *@program: kronos-orm
  *@author: Jieyao Lu
  *@description:
  *@create: 2024/10/21 16:05
  **/
 interface FunctionBuilder {
     val supportFunctionNames: (String) -> Array<DBType>
 
     fun support(field: FunctionField, dbType: DBType): Boolean {
         return supportFunctionNames(field.functionName).contains(dbType)
     }
 
     fun transform(
         field: FunctionField,
         dataSource: KronosDataSourceWrapper,
         showTable: Boolean,
         showAlias: Boolean
     ): String
 
 }