View Javadoc
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   * Represents customer's order - list of order items.
19   * User: Kirill
20   * Date: 05.07.13 14:50
21   */
22  @RooJavaBean
23  @RooToString
24  @RooJson(deepSerialize = true)
25  public class OrderInfo implements SyncEntityInfo {
26  
27      /**
28       * List of fields for ordering.
29       */
30      //CHECKSTYLE:OFF Missing Javadoc comments.
31      public enum Fields { IDENTIFIER, STATUS, CREATED }
32      //CHECKSTYLE:ON Missing a Javadoc comment.
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  }