1 package com.srv4pos.server.api.order;
2
3 import com.srv4pos.server.api.infrastructure.Constraints;
4 import com.srv4pos.server.api.infrastructure.SyncEntityInfo;
5 import com.srv4pos.server.api.validationGroups.IdentifierValidationGroup;
6 import org.springframework.roo.addon.javabean.RooJavaBean;
7 import org.springframework.roo.addon.json.RooJson;
8 import org.springframework.roo.addon.tostring.RooToString;
9
10 import javax.validation.Valid;
11 import javax.validation.constraints.NotNull;
12 import javax.validation.constraints.Pattern;
13 import javax.validation.constraints.Size;
14 import java.util.Date;
15 import java.util.List;
16
17
18
19
20
21
22 @RooJavaBean
23 @RooToString
24 @RooJson(deepSerialize = true)
25 public class OrderInfo implements SyncEntityInfo {
26
27
28
29
30
31 public enum Fields { IDENTIFIER, STATUS, CREATED }
32
33
34 @NotNull(groups = IdentifierValidationGroup.class)
35 @Size(max = 50, min = 1)
36 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
37 private String identifier;
38
39 @Size(max = 32, min = 0)
40 private String treasurerName;
41
42 @Valid
43 @NotNull
44 private List<OrderItemInfo> orderItems;
45
46 private String booking;
47
48 @Valid
49 private DeliveryInfo delivery;
50
51 private Date created;
52
53 @NotNull
54 private OrderPaymentStatus status = OrderPaymentStatus.NEW;
55
56 private boolean deleted = Boolean.FALSE;
57
58 private Integer version;
59
60 @Size(min = 1)
61 private String gcmRegistrationId;
62 }