1 package com.srv4pos.server.api.transportation; 2 3 import com.srv4pos.server.api.infrastructure.Constraints; 4 import com.srv4pos.server.api.infrastructure.Info; 5 import com.srv4pos.server.api.sale.SaleInfo; 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.ArrayList; 15 import java.util.List; 16 17 @RooJavaBean 18 @RooToString 19 @RooJson(deepSerialize = true) 20 public class TripInfo implements Info { 21 22 public enum Fields {IDENTIFIER} 23 24 @Size(max = 50, min = 1) 25 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX) 26 @NotNull 27 private String identifier; 28 29 @Size(max = 255, min = 1) 30 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX) 31 @NotNull 32 private String routeCode; 33 34 @Size(max = 255, min = 1) 35 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX) 36 @NotNull 37 private String tripCode; 38 39 @Valid 40 private List<SaleInfo> sales = new ArrayList<SaleInfo>(); 41 }