package de.rwth.idsg.bikeman.web.rest.dto.modify; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.datatype.joda.deser.LocalDateDeserializer; import de.rwth.idsg.bikeman.domain.OperationState; import de.rwth.idsg.bikeman.domain.TariffType; import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.NotBlank; import org.joda.time.LocalDate; import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.validation.constraints.Past; import javax.validation.constraints.Pattern; /** * Created by swam on 05/06/14. */ @Getter @Setter @ToString(includeFieldNames = true) public class CreateEditCustomerDTO { private Long userId; @NotBlank @Email private String login; @NotBlank private String customerId; private String password; @NotBlank private String cardId; // check if cardPin has only four digits, e.g., '0034' @NotNull @Pattern(regexp = "^([0-9]{4})$") private String cardPin; private OperationState cardOperationState; @NotNull private TariffType tariff; @NotBlank private String firstname; @NotBlank private String lastname; @Valid private CreateEditAddressDTO address; @Past @JsonDeserialize(using = LocalDateDeserializer.class) private LocalDate birthday; private Boolean isActivated; }