danko9
07/25/2017, 4:37 PMdanko9
07/25/2017, 4:37 PMdamian
07/25/2017, 4:37 PMdamian
07/25/2017, 4:37 PMkarelpeeters
07/25/2017, 4:39 PMcygnus
07/25/2017, 5:26 PMagrosner
07/25/2017, 6:34 PMpasssy
07/25/2017, 11:13 PMpasssy
07/25/2017, 11:26 PMsupaham
07/26/2017, 5:05 AMinline fun <reified T : Any, M: MetadataHolder> AbstractAutoMetadataCreator<M>.registerClassKt(creator: MetadataCreator<T, M>) = this.registerClass(T::class.java, creator)
Is there a way to get M to be automatically interpreted from the instance AbstractAutoMetadataCreator
?martwy_kotek
07/26/2017, 6:31 AMmartwy_kotek
07/26/2017, 6:31 AMkarelpeeters
07/26/2017, 6:33 AMmartwy_kotek
07/26/2017, 6:41 AMPasted image at 2017-07-26, 8:41 AM▾
diesieben07
07/26/2017, 8:04 AM@Contract
annotation, which would allow you to specify this, but it seems the Kotlin compiler does not honor it.user
07/26/2017, 8:39 AMhttps://kotlinlang.slack.com/files/U5RQL7C1F/F6DRZ9685/pasted_image_at_2017_07_26_08_41_am.png▾
martwy_kotek
07/26/2017, 9:28 AMrrader
07/26/2017, 9:53 AMpublic class Login {
@NotBlank
@Size(min=3)
private final String login;
@NotBlank
private final String password;
public Login(String login, String password) {
this.login = login.trim();
this.password = password.trim();
}
public String getLogin() {
return login;
}
public String getPassword() {
return password;
}
}
rafal
07/26/2017, 9:54 AMdata class Login(@get:NotBlank @get:Size(min=3) @JsonProperty(value = "login", required = true) val login: String,
@get:NotBlank @JsonProperty(value = "password", required = true) val password: String)
annotations are used for validation, validation is executed after constructor
but before validation, I need to trim login
and password
, in order to reject values as " r " for login
, because real value is "r" and size is 1, which is less than 3
how to do this in Kotlin?
1 reply
you can try:
class Login(login: String, password: String){
@get:NotBlank @get:Size(min=3) @JsonProperty(value = "login", required = true) val login: String = login.trim()
@get:NotBlank @JsonProperty(value = "password", required = true) val password: String = password.trim()
}
rogeralsing
07/26/2017, 10:07 AMrogeralsing
07/26/2017, 10:07 AMmarcoferrer
07/26/2017, 4:38 PMLinking globals named 'Konan_start': symbol multiply defined!
kotlin-native-linux-0.3/bin/konanc led.kt -target raspberrypi -library pigpio.bc -linkerOpts "-L`pwd`/PIGPIO -lpigpio" -o led -verbose -g
Ian
07/26/2017, 5:34 PMIan
07/26/2017, 5:34 PMIan
07/26/2017, 5:35 PMkarelpeeters
07/26/2017, 5:44 PMgradle clean
, and invalidating Idea's caches? (File > Invalidate ...
)?karelpeeters
07/26/2017, 5:45 PMdessens
07/26/2017, 6:46 PMdessens
07/26/2017, 6:48 PM