1 package com.srv4pos.server.api.precept;
2
3 import com.srv4pos.server.api.infrastructure.Constraints;
4 import com.srv4pos.server.api.infrastructure.Info;
5 import com.srv4pos.server.api.validationGroups.IdentifierValidationGroup;
6 import org.springframework.format.annotation.DateTimeFormat;
7 import org.springframework.roo.addon.javabean.RooJavaBean;
8 import org.springframework.roo.addon.json.RooJson;
9 import org.springframework.roo.addon.tostring.RooToString;
10
11 import javax.persistence.Temporal;
12 import javax.persistence.TemporalType;
13 import javax.validation.Valid;
14 import javax.validation.constraints.NotNull;
15 import javax.validation.constraints.Pattern;
16 import javax.validation.constraints.Size;
17 import java.util.Date;
18 import java.util.List;
19
20
21
22
23 @RooJavaBean
24 @RooToString
25 @RooJson(deepSerialize = true)
26 public class PreceptInfo implements Info {
27
28 @NotNull(groups = IdentifierValidationGroup.class)
29 @Size(min = 1, max = 50)
30 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
31 private String identifier;
32
33 @NotNull
34 @Size(max = 32, min = 1)
35 private String treasurerName;
36
37 @Valid
38 @NotNull
39 private List<PreceptItemInfo> preceptItems;
40
41 @Size(max = 50)
42 private String table;
43
44 @Temporal(TemporalType.TIMESTAMP)
45 @DateTimeFormat(style = "M-")
46 private Date created;
47
48 @NotNull
49 private PreceptStatus status = PreceptStatus.NEW;
50
51 @Size(max = 512)
52 private String message;
53
54 @Size(max = 50, min = 1)
55 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
56 private String order;
57 }