Característica Descripción
Clase generada con campos basados en Enum
Esta solicitud de feater aparece en mi pregunta en StackOverflow
Básicamente, esa característica permitiría crear una clase con campos de la clase enum y si se establecen @Data o @Setter y @Getters , marque esos campos como privet y genere setters y getter para ellos
Prototipo de código de uso:
Definición
public enum JwtFields {
userId,
country,
sessionId,
anyOtherField
}
@FromEnum(JwtFields.class)
<strong i="19">@Data</strong>
public class JwtDeserialised {
private String someAdditionalCutomFieldIfIwant
}
Uso:
String userId = jwtDeserialisedInstance.getUserId();
String anyOtherField = jwtDeserialisedInstance.getAnyOtherField();
String someAdditionalCutomFieldIfIwant = jwtDeserialisedInstance.GetSomeAdditionalCutomFieldIfIwant();
Público objetivo
Cualquiera que use Enums como claves para evitar escribir mal las cadenas y luego necesite deserializar esa enumeración en la clase adecuada con sets y gets.
¿Por qué no tomar la dirección opuesta: definir sus campos en la clase y usar @FieldNameConstants(asEnum = true)
para generar su enumeración?
Hemos implementado esto, pero como mostró @janrieke , en la dirección opuesta: Cree la clase (y no una enumeración que nombre los 'campos').
Tenga en cuenta también que la forma en que desea implementarlo requiere resolución , es decir, es una característica extremadamente compleja.
¡Gracias chicos! ¡Impresionante! ¡Otra forma de hacerlo también se adapta perfectamente a mí!
No lo vi en la documentación, ¡pero ahora lo encontré en experimental! ¡Muy buena característica y definitivamente merece estar en la característica principal bastante experimental!
Comentario más útil
¿Por qué no tomar la dirección opuesta: definir sus campos en la clase y usar
@FieldNameConstants(asEnum = true)
para generar su enumeración?