View Javadoc
1   package com.srv4pos.server.api.activation;
2   
3   import com.srv4pos.server.api.infrastructure.Info;
4   import org.springframework.roo.addon.javabean.RooJavaBean;
5   import org.springframework.roo.addon.json.RooJson;
6   import org.springframework.roo.addon.tostring.RooToString;
7   
8   import javax.validation.Valid;
9   import javax.validation.constraints.NotNull;
10  import java.util.Date;
11  import java.util.HashSet;
12  import java.util.Set;
13  
14  /**
15   * Information about activation period (when and which features are activated, per which period).
16   * <p>User: Kirill, Date: 05.08.13 17:59</p>
17   */
18  @RooJavaBean
19  @RooToString
20  @RooJson(deepSerialize = true)
21  public class ActivationDetailsInfo implements Info {
22      /**
23       * When activation starts being active.
24       */
25      @NotNull
26      private Date validFrom;
27  
28      /**
29       * When activation ends being active.
30       */
31      @NotNull
32      private Date validTo;
33  
34      /**
35       * List of features.
36       */
37      @NotNull
38      private Set<Feature> features = new HashSet<Feature>();
39  
40      /**
41       * Where control unit is connected and how.
42       */
43      @Valid
44      private ControlUnitLocation controlUnitLocation = ControlUnitLocation.DEVICE;
45  
46      /**
47       * Serial number of control unit.
48       * It is null if {@link #controlUnitLocation} == {@link ControlUnitLocation#REMOTE} or application doesn't support control units
49       */
50      private String controlUnitSerialNumber;
51  }