View Javadoc
1   package com.srv4pos.server.api.booking;
2   
3   import com.srv4pos.server.api.activation.ContactInfo;
4   import com.srv4pos.server.api.infrastructure.Constraints;
5   import com.srv4pos.server.api.infrastructure.SyncEntityInfo;
6   import com.srv4pos.server.api.validationGroups.IdentifierValidationGroup;
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.validation.Valid;
12  import javax.validation.constraints.Min;
13  import javax.validation.constraints.NotNull;
14  import javax.validation.constraints.Pattern;
15  import javax.validation.constraints.Size;
16  import java.util.Date;
17  
18  /**
19   * Created by eugene.shishkin on 05.09.14.
20   */
21  @RooJavaBean
22  @RooToString
23  @RooJson(deepSerialize = true)
24  public class BookingInfo implements SyncEntityInfo {
25  
26      /**
27       * List of fields for ordering.
28       */
29      public enum Fields { IDENTIFIER, BOOKING_DATE }
30  
31      @NotNull(groups = IdentifierValidationGroup.class)
32      @Size(max = 50, min = 1)
33      @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
34      private String identifier;
35  
36      @NotNull
37      private Date bookingDate;
38  
39      @Min(0)
40      private int persons;
41  
42      @NotNull
43      @Valid
44      private ContactInfo contactInfo;
45  
46      @Size(max = 1024)
47      private String description;
48  
49      private boolean deleted = Boolean.FALSE;
50  
51      private Integer version;
52  }