1   /*
2    * The MIT License
3    *
4    * Copyright (c) <2010> <tap4j>
5    * 
6    * Permission is hereby granted, free of charge, to any person obtaining a copy
7    * of this software and associated documentation files (the "Software"), to deal
8    * in the Software without restriction, including without limitation the rights
9    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10   * copies of the Software, and to permit persons to whom the Software is
11   * furnished to do so, subject to the following conditions:
12   * 
13   * The above copyright notice and this permission notice shall be included in
14   * all copies or substantial portions of the Software.
15   * 
16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22   * THE SOFTWARE.
23   */
24  package org.tap4j.model;
25  
26  import java.io.Serializable;
27  
28  import org.tap4j.util.DirectiveValues;
29  
30  /**
31   * Represents a Test Directive. Usually it would be a TO DO or SKIP directive.
32   * 
33   * @since 1.0
34   */
35  public class Directive implements Serializable {
36  
37      /*
38       * Serial Version UID.
39       */
40      private static final long serialVersionUID = 8183935213177175225L;
41  
42      /**
43       * Directive Value (TO DO, SKIP).
44       */
45      private final DirectiveValues directiveValue;
46  
47      /**
48       * Reason for the directive.
49       */
50      private final String reason;
51  
52      /**
53       * Constructor with parameters.
54       * 
55       * @param directiveValue Directive Value.
56       * @param reason Reason for the directive.
57       */
58      public Directive(DirectiveValues directiveValue, String reason) {
59          super();
60          this.directiveValue = directiveValue;
61          this.reason = reason;
62      }
63  
64      /**
65       * @return Directive Value.
66       */
67      public DirectiveValues getDirectiveValue() {
68          return this.directiveValue;
69      }
70  
71      /**
72       * @return Reason for the directive.
73       */
74      public String getReason() {
75          return this.reason;
76      }
77  
78  }