View Javadoc
1   package com.srv4pos.server.api.seller;
2   
3   import com.srv4pos.server.api.infrastructure.Constraints;
4   import com.srv4pos.server.api.infrastructure.SyncEntityInfo;
5   import com.srv4pos.server.api.infrastructure.journal.JournalDate;
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.constraints.NotNull;
11  import javax.validation.constraints.Pattern;
12  import javax.validation.constraints.Size;
13  import java.util.Date;
14  import java.util.HashMap;
15  import java.util.Map;
16  
17  @RooJavaBean
18  @RooToString
19  @RooJson(deepSerialize = true)
20  public class SellerInfo implements SyncEntityInfo {
21  
22      /**
23       * List of fields for ordering.
24       */
25      //CHECKSTYLE:OFF Missing Javadoc comments.
26      //ToDo add new fields
27      //ToDo add sorting && like
28      public static enum Fields {
29          COUNTRY, NAME, DESCRIPTION, CITY, WORK_HOURS, PHONE
30      }
31      //CHECKSTYLE:ON Missing a Javadoc comment.
32  
33      @NotNull
34      @Size(max = 96)
35      @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
36      private String corporateId;
37  
38      @Size(min = 1, max = 96)
39      private String name;
40  
41      @NotNull
42      @Size(max = 2, min = 2)
43      private String country;
44  
45      private boolean publicAccess;
46  
47      @Size(max = 1024)
48      private String description;
49  
50      @Size(max = 50)
51      private String city;
52  
53      @Size(max = 100)
54      private String workHours;
55  
56      @NotNull
57      private Map<DayOfWeek, WorkHoursInfo> workHoursWeek = new HashMap<DayOfWeek, WorkHoursInfo>();
58  
59      @Size(max = 96)
60      private String address;
61  
62      @Size(max = 50)
63      private String phone;
64  
65      @Size(max = 65535)
66      private String custom;
67  
68      private Currency currency;
69  
70      private Integer version;
71  
72      @JournalDate
73      private Date modified;
74  
75      private Double latitude;
76  
77      private Double longitude;
78  
79      @Size(min = 1, max = 64)
80      private String masterPassword;
81  
82      @Size(min = 1, max = 1024)
83      private String protectedHeaders;
84  
85      @Size(max = 12)
86      private String zip;
87  
88      public String getIdentifier() {
89          return getCountry() + getCorporateId();
90      }
91  }