Creazione di un'annotazione custom che fa il trim di una stringa

di erik992 il
3 risposte
Salve, vorrei una dritta su come fare un' annotazione custom che fa il trim di una stringa. Sono partito da fare ciò:
package com.axerve.backoffice.util.validator;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.messaging.handler.annotation.Payload;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Trim {

public String value() default "";

Class<?>[] groups() default { };

Class<? extends Payload>[] payload() default { };
}

Dove definisco il target per applicare questa annotazione negli attributi di una classe e la retention RunTime.
Il piccolo metodo che deve emulare il comportamento desiderato è il seguente:
public void setValue (String value) {
this.value = (value != null) ? value.trim() : value;
}
Come posso renderlo un' annotazione?

3 Risposte

  • erik992 ha scritto:


    Salve, vorrei una dritta su come fare un' annotazione custom che fa il trim di una stringa.
    Ma il problema non è l'annotation in sé ..... la vera questione è CHI (/DOVE) deve leggere questa annotation e applicarla??

    Quindi: chiarisci il contesto.
  • Devo in un certo senso validare i Dto della mia chiamata rest. Vorrei che tutti i campi passati nel body di input subissero il trim. Pensavo, proprio per questo, ad un'annotazione.
  • erik992 ha scritto:


    Devo in un certo senso validare i Dto della mia chiamata rest. Vorrei che tutti i campi passati nel body di input subissero il trim. Pensavo, proprio per questo, ad un'annotazione.
    Quindi scusa ... tu pensavi di farlo tramite la Validation API ? (immagino hai la Hibernate Validator, la implementazione di riferimento)
    Uhm .... ma serve appunto per "validare", non per modificare i dati.
Devi accedere o registrarti per scrivere nel forum
3 risposte