Skip to content
This repository was archived by the owner on Mar 24, 2025. It is now read-only.

Commit e5acc4b

Browse files
committed
remove ValidBinding
1 parent 23f5b1f commit e5acc4b

File tree

7 files changed

+17
-40
lines changed

7 files changed

+17
-40
lines changed

README.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,11 @@ import bitlap.validation.extension.Validated
7979
```
8080
Then, checking code will be automatically inserted during compilation and may throw an `IllegalArgumentException` if the constraint checking fails.
8181

82-
If you do not wish to throw an exception directly, you should use `@ValidBinding`.
83-
84-
### `@ValidBinding`
85-
86-
Just need to add `@ValidBinding` to method, and add a `bind: BindingResult` parameter to method:
82+
If you do not wish to throw an exception directly, you should add a `bind: BindingResult` parameter to method:.
8783
```scala
88-
import bitlap.validation.extension.ValidBinding
84+
import bitlap.validation.extension.Validated
8985

90-
@ValidBinding def update(person1: Person, person2: Person, bind: BindingResult = BindingResult.default)
86+
@Validated def update(person1: Person, person2: Person, bind: BindingResult = BindingResult.default)
9187
```
9288

9389
The plugin captures the `bind` parameters based on the type, so the name doesn't matter.
@@ -97,14 +93,13 @@ The plugin captures the `bind` parameters based on the type, so the name doesn't
9793
```scala
9894
import jakarta.validation.Valid
9995
import bitlap.validation.extension.Validated
100-
import bitlap.validation.extension.ValidBinding
10196
import jakarta.validation.constraints.NotNull
10297

10398
@Validated def validatedTwoParams(@Valid person1: Person, @Valid person2: Person): String
10499

105100
@Validated def validatedOneParams(@Valid person1: Person): String
106101

107-
@ValidBinding def validatedBindParams(@Valid person1: Person, bindingError: BindingResult = BindingResult.default): String
102+
@Validated def validatedBindParams(@Valid person1: Person, bindingError: BindingResult = BindingResult.default): String
108103

109104
@Validated def validatedNotNullParams(@Valid @NotNull person1: Person): String
110105
```

build.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ val jodaConvertVersion = "2.2.3"
1515
val jodaTimeVersion = "2.12.5"
1616
val specs2Version = "4.20.3"
1717
val zioVersion = "2.0.19"
18-
val `example-dependency-version` = "0.0.0+102-ce8d7460-SNAPSHOT"
18+
val `example-dependency-version` = "0.0.0+100-22e7d34d+20231118-1835-SNAPSHOT"
1919
val supportCrossVersionList = Seq(scala3_Version, scala2_13Version)
2020

2121
inThisBuild(
@@ -31,7 +31,7 @@ inThisBuild(
3131
id = "jxnu-liguobin",
3232
name = "梦境迷离",
3333
email = "dreamylost@outlook.com",
34-
url = url("https://blog.dreamylost.cn")
34+
url = url("https://github.com/jxnu-liguobin")
3535
)
3636
)
3737
)

examples/src/main/scala/bitlap/validation/examples/PersonNormalService.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ final class PersonNormalService {
1717
s"${person1.name}"
1818

1919
// cascade
20-
@ValidBinding
20+
@Validated
2121
def validatedBindParams(@Valid person1: Person, bindingError: BindingResult = BindingResult.default): String =
2222
s"${person1.name} - violationsCount: ${bindingError.violations.map(_.getMessage)}"
2323

examples/src/main/scala/bitlap/validation/examples/PersonZioService.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ final class PersonZioService {
2121
ZIO.succeed(s"${person1.name}")
2222

2323
// cascade
24-
@ValidBinding
24+
@Validated
2525
def zioValidatedBindParam(
2626
@Valid person1: Person,
2727
bindingError: BindingResult = BindingResult.default

validation-scala-core/src/main/scala/bitlap/validation/extension/ValidBinding.scala

Lines changed: 0 additions & 6 deletions
This file was deleted.

validation-scala-plugin/src/main/scala/bitlap/validation/plugin/TermsName.scala

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ package bitlap.validation.plugin
22

33
private[plugin] object TermsName {
44

5-
final val BindingResult_Class = "bitlap.validation.extension.BindingResult"
6-
final val Validated_Annotation = "bitlap.validation.extension.Validated"
7-
final val ValidBinding_Annotation = "bitlap.validation.extension.ValidBinding"
8-
final val Preconditions_Class = "bitlap.validation.extension.Preconditions"
9-
final val ZioPreconditions_Class = "bitlap.validation.ext.ZioPreconditions"
10-
final val Zio_Class = "zio.ZIO"
5+
final val BindingResult_Class = "bitlap.validation.extension.BindingResult"
6+
final val Validated_Annotation = "bitlap.validation.extension.Validated"
7+
final val Preconditions_Class = "bitlap.validation.extension.Preconditions"
8+
final val ZioPreconditions_Class = "bitlap.validation.ext.ZioPreconditions"
9+
final val Zio_Class = "zio.ZIO"
1110

1211
final val ValidateMethodArgs_Method = "validateMethodArgs"
1312
final val ValidateMethodArgsBinding_Method = "validateMethodArgsBinding"

validation-scala-plugin/src/main/scala/bitlap/validation/plugin/ValidationMethodArgsPhase.scala

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ final class ValidationMethodArgsPhase extends PluginPhase:
2929
TermsName.Validated_Annotation
3030
)
3131

32-
@threadUnsafe private lazy val ValidBindingAnnotationClass: Context ?=> ClassSymbol = requiredClass(
33-
TermsName.ValidBinding_Annotation
34-
)
35-
3632
@threadUnsafe private lazy val PreconditionsClass: Context ?=> TermSymbol = requiredModule(
3733
TermsName.Preconditions_Class
3834
)
@@ -59,20 +55,14 @@ final class ValidationMethodArgsPhase extends PluginPhase:
5955
}
6056

6157
// to determine if there are main scala annotations
62-
val optAnnotations: Option[(Boolean, ClassSymbol)] = tree.symbol.annotations.collectFirst {
63-
case annotation if annotation.symbol.name.asSimpleName == ValidatedAnnotationClass.name.asSimpleName =>
58+
val optAnnotations = tree.symbol.annotations.collectFirst {
59+
case annotation if annotation.symbol.name.asSimpleName == ValidatedAnnotationClass.name.asSimpleName =>
6460
report.debugwarn(s"Validation found: ${TermsName.Validated_Annotation} on method: ${tree.name.show}")
65-
false -> ValidatedAnnotationClass
66-
case annotation if annotation.symbol.name.asSimpleName == ValidBindingAnnotationClass.name.asSimpleName =>
67-
report.debugwarn(s"Validation found binding: ${TermsName.ValidBinding_Annotation} on method: ${tree.name.show}")
68-
true -> ValidBindingAnnotationClass
61+
ValidatedAnnotationClass
6962
}
7063
if optAnnotations.isEmpty then return tree
64+
val bindOpt = tree.termParamss.flatten.find(_.tpt.symbol.showFullName == TermsName.BindingResult_Class)
7165

72-
val bindOpt =
73-
if (optAnnotations.exists(_._1))
74-
tree.termParamss.flatten.find(_.tpt.symbol.showFullName == TermsName.BindingResult_Class)
75-
else None
7666
mapDefDef(tree, bindOpt)
7767
}
7868

@@ -83,7 +73,6 @@ final class ValidationMethodArgsPhase extends PluginPhase:
8373
newDef
8474

8575
private def getMethodBody(tree: DefDef, bindingOpt: Option[ValDef[Type]]): Context ?=> Block = {
86-
// ignore if user add @ValidBinding on BindingResult
8776
val params = tree.termParamss.flatten.map(a => untpd.Ident(a.name).withType(a.tpe))
8877
val obj = This(tree.symbol.enclosingClass.asClass)
8978
val method =

0 commit comments

Comments
 (0)