Guest User

Untitled

a guest
Jul 16th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. import com.fasterxml.jackson.annotation.JsonIgnore;
  2. import com.fasterxml.jackson.annotation.JsonInclude;
  3. import com.fasterxml.jackson.annotation.JsonProperty;
  4. import com.myvehicle.EngineType;
  5.  
  6. @JsonInclude(JsonInclude.Include.NON_NULL)
  7. public class VehicleDTO {
  8.  
  9. @JsonIgnore
  10. private Long id;
  11.  
  12. @NotNull(message = "vehiclenumber can not be null!")
  13. private String vehiclenumber;
  14.  
  15. @Min(2)
  16. @NotNull(message = "Seat count can not be less than 2!")
  17. private Integer vehicleseatcount;
  18.  
  19. @NotNull(message = "Engine Type can not be null!")
  20. private EngineType enginetype;
  21.  
  22. @Max(5)
  23. private Integer vehiclerating;
  24.  
  25.  
  26.  
  27. private VehicleDTO(Long id, String vehiclenumber, Integer vehicleseatcount, EngineType enginetype,Integer vehiclerating){
  28. this.vehiclenumber=vehiclenumber;
  29. this.vehicleseatcount=vehicleseatcount;
  30. this.enginetype=enginetype;
  31. this.vehiclerating=vehiclerating;
  32. this.id=id;
  33. }
  34.  
  35. public static VehicleDTOBuilder newBuilder()
  36. {
  37. return new VehicleDTOBuilder();
  38. }
  39.  
  40. @JsonProperty
  41. public Long getId() {
  42. return id;
  43. }
  44.  
  45.  
  46. public String getvehiclenumber() {
  47. return vehiclenumber;
  48. }
  49.  
  50.  
  51. public Integer getvehicleseatcount() {
  52. return vehicleseatcount;
  53. }
  54.  
  55.  
  56. public EngineType getEnginetype() {
  57. return enginetype;
  58. }
  59.  
  60.  
  61.  
  62. public Integer getvehiclerating() {
  63. return vehiclerating;
  64. }
  65.  
  66.  
  67.  
  68.  
  69. public static class VehicleDTOBuilder{
  70.  
  71. private Long id;
  72. private String vehiclenumber;
  73. private Integer vehicleseatcount;
  74. private EngineType enginetype;
  75. private Integer vehiclerating;
  76.  
  77. public VehicleDTOBuilder setId(Long id) {
  78. this.id = id;
  79. return this;
  80. }
  81. public VehicleDTOBuilder setvehiclenumber(String vehiclenumber) {
  82. this.vehiclenumber = vehiclenumber;
  83. return this;
  84. }
  85. public VehicleDTOBuilder setvehicleseatcount(Integer vehicleseatcount) {
  86. this.vehicleseatcount = vehicleseatcount;
  87. return this;
  88. }
  89. public VehicleDTOBuilder setEnginetype(EngineType enginetype) {
  90. this.enginetype = enginetype;
  91. return this;
  92. }
  93. public VehicleDTOBuilder setvehiclerating(Integer vehiclerating) {
  94. this.vehiclerating = vehiclerating;
  95. return this;
  96. }
  97.  
  98.  
  99. public VehicleDTO createVehicleDTO()
  100. {
  101. return new VehicleDTO(id, vehiclenumber, vehicleseatcount, enginetype,vehiclerating);
  102. }
  103.  
  104. }
  105.  
  106. }
  107.  
  108. public enum EngineType {
  109. ELECTRIC, DIESEL
  110. }
  111.  
  112. @PostMapping
  113. @ResponseStatus(HttpStatus.CREATED)
  114. public VehicleDTO addvehicle(@Valid @RequestBody VehicleDTO vehicleDTO)
  115. {
  116. VehicleDO vehicleDO = Mapper.VehicleDO(vehicleDTO);
  117. return Mapper.makeVehicleDTO(Service.addvehicle(vehicleDO));
  118. }
Add Comment
Please, Sign In to add comment