/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.fdxconvert.model; import com.megatim.fdxconvert.pojo.Decryptage; import com.megatimfx.common.validationgroups.ViewFormValidationGroup; import com.megatim.fdxconvert.model.constraint.KeyToDecryptConstraint; import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.OneToMany; import javax.persistence.Transient; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern.Flag; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.UpdateTimestamp; /** * * @author STEPHANIE */ @Getter @Setter @Entity @KeyToDecryptConstraint(groups = {ViewFormValidationGroup.class}) @NoArgsConstructor public class Validateur extends Decryptage implements Serializable { @Id private String codeTypeFichier; @Transient @NotNull(message = "Le type fichier est obligatoire", groups = {ViewFormValidationGroup.class}) private TypeFichier typeFichier; @NotEmpty(message = "Le validateur est obligatoire", groups = {ViewFormValidationGroup.class}) @Transient @Pattern(regexp = ".+\\.zip|.+\\.xml", flags = Flag.CASE_INSENSITIVE, message = "Le fichier attendu doit ĂȘtre au format ZIP ou XML", groups = {ViewFormValidationGroup.class}) private String filePath; @Lob private byte[] content; private boolean convertDataBeforeValidation; @OneToMany(mappedBy = "validateur", cascade = CascadeType.ALL) private List alphaFields; @Transient private int keyLength = 128; @CreationTimestamp private LocalDateTime dateCreation; @UpdateTimestamp private LocalDateTime dateMiseAJour; }