View Javadoc
1   package com.srv4pos.server.api.restaurant;
2   
3   import com.srv4pos.server.api.infrastructure.Constraints;
4   import com.srv4pos.server.api.infrastructure.Info;
5   import com.srv4pos.server.api.seller.Currency;
6   import com.srv4pos.server.api.seller.DayOfWeek;
7   import com.srv4pos.server.api.seller.WorkHoursInfo;
8   import com.srv4pos.server.api.tax.TaxInfo;
9   import org.springframework.roo.addon.javabean.RooJavaBean;
10  import org.springframework.roo.addon.json.RooJson;
11  import org.springframework.roo.addon.tostring.RooToString;
12  
13  import javax.validation.constraints.NotNull;
14  import javax.validation.constraints.Pattern;
15  import javax.validation.constraints.Size;
16  import java.util.HashMap;
17  import java.util.List;
18  import java.util.Map;
19  
20  @RooJavaBean
21  @RooToString
22  @RooJson(deepSerialize = true)
23  public class RestaurantOverviewInfo implements Info {
24  
25      /**
26       * List of fields for ordering.
27       */
28      //CHECKSTYLE:OFF Missing Javadoc comments.
29      public static enum Fields {
30          COUNTRY, NAME, AVERAGE_BILL, DESCRIPTION, CITY, WORK_HOURS, PHONE
31      }
32      //CHECKSTYLE:ON Missing a Javadoc comment.
33  
34      @NotNull
35      @Size(max = 2, min = 2)
36      private String country;
37  
38      @NotNull
39      @Size(max = 96)
40      @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
41      private String corporateId;
42  
43      @Size(min = 1, max = 96)
44      private String name;
45  
46      @Size(max = 50)
47      private String city;
48  
49      @Size(max = 96)
50      private String address;
51  
52      @Size(max = 50)
53      private String phone;
54  
55      private String workHours;
56  
57      @NotNull
58      private Map<DayOfWeek, WorkHoursInfo> workHoursWeek = new HashMap<DayOfWeek, WorkHoursInfo>();
59  
60      private String description;
61  
62      private Long averageBill;
63  
64      @NotNull
65      private List<RestaurantCategoryInfo> menu;
66  
67      private List<String> images;
68  
69      @Size(max = 65535)
70      private String custom;
71  
72      @NotNull
73      private List<TaxInfo> taxes;
74  
75      private Currency currency;
76  }