1 package com.srv4pos.server.api.customization;
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 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.constraints.NotNull;
12 import javax.validation.constraints.Pattern;
13 import javax.validation.constraints.Size;
14 import java.util.Date;
15
16 @RooJavaBean
17 @RooToString
18 @RooJson(deepSerialize = true)
19 public class CustomizationItemInfo implements SyncEntityInfo {
20
21
22
23
24
25 public static enum Fields { IDENTIFIER, NAME, CUSTOMIZATION_GROUP }
26
27
28 private boolean deleted;
29
30 @NotNull(groups = IdentifierValidationGroup.class)
31 @Size(max = 50, min = 1)
32 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
33 private String identifier;
34
35 @Size(max = 50, min = 1)
36 @NotNull
37 private String name;
38
39
40
41
42 @NotNull
43 private String customizationGroup;
44
45 @Size(max = 65535)
46 private String custom;
47
48 @JournalDate
49 private Date modified;
50
51 private Integer version;
52 }