JOOQ Querydsl:
ORM DSL DSL . , JOOQ Querydsl, :
- , , , ( , ), , .
- :
eq db. , equals eq. - : ,
jooqDB.where { it.name.equals("alice") } , .
Jinq
Jinq . , , , . , , Java-, , .
Jinq, , , Jinq , , : AST , , , transcompiler. Jinq , , : -. java-- JVM, - .
, , , DAL, , , . net, - Linq, Jinq. " " .
:
LINQ-to-SQL LINQ-to-mongo .net. , , : AST SQL ( -), , . ORM , (Microsoft Mongo) .
Kotlin Linq, Kotlin , , MongoDB Hibernate LINQ-to-X Kotlin, , Microsoft IBM, .
Linq Kotlin
, , Kotlin "" inline Linq. Linq-from-Kotlin , LINQ-from-#.
#
someInterface
.where(customer -> customer.Name.StartsWith("A") && ComplexFunctionCallDoneByMongoDriver(customer))
.select(customer -> new ResultObject(customer.Name, customer.Age, OtherContext()))
Kotlin :
someInterface
.filter { it.name startsWith "A" && inlinedComplexFunctionCallDoneOnDB(it) }
.map { ResultObject(name, age, otherContext()) }
, , , , .
:
, , runtime-code-AST, :
[ ASTM] [] Kotlin
, , , Kotlin Mockito: , , Mocking, Kotlin, java-, Kotlin, .
java-, Kotlin:
- , . AST, , --, , . .
- , , . ,
notifyOfUIElementChange { this.model.displayName } notifyOfUIElementChange("model.displayName"). , - . - Kotlin Linq: , Kotlins , . , .
Linq, , , Linq-from-Kotlin , , .