View Javadoc

1   /*
2    * Copyright 2012-2013 smartics, Kronseder & Reiner GmbH
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package de.smartics.maven.issue.command;
17  
18  /**
19   * Defines a command to navigate within a selected product to a certain page and
20   * grab information (like a token) from it.
21   */
22  public interface ProductNavigationCommand extends
23      NavigationCommand<ProductNavigationCommand>
24  {
25    // ********************************* Fields *********************************
26  
27    // --- constants ------------------------------------------------------------
28  
29    // ****************************** Initializer *******************************
30  
31    // ****************************** Inner Classes *****************************
32  
33    /**
34     * Defines parameters for the {@link ProductNavigationCommand}.
35     */
36    public static enum Parameter implements
37        CommandParameter<ProductNavigationCommand>
38    {
39      // ***************************** Enumeration ******************************
40  
41      /**
42       * The action identifier by the service on the target server.
43       */
44      ACTION("action"),
45  
46      /**
47       * The product to navigate for.
48       */
49      PRODUCT("product");
50  
51      // ******************************** Fields ********************************
52  
53      // --- constants ----------------------------------------------------------
54  
55      // --- members ------------------------------------------------------------
56  
57      /**
58       * The name of the parameter.
59       * <p>
60       * The value of this constant is {@value}.
61       */
62      private final String name;
63  
64      // ***************************** Constructors *****************************
65  
66      /**
67       * Default constructor.
68       *
69       * @param name the name of the parameter.
70       */
71      private Parameter(final String name)
72      {
73        this.name = name;
74      }
75  
76      // ******************************** Methods *******************************
77  
78      // --- init ---------------------------------------------------------------
79  
80      // --- get&set ------------------------------------------------------------
81  
82      /**
83       * Returns the name of the parameter.
84       *
85       * @return the name of the parameter.
86       */
87      public String getName()
88      {
89        return name;
90      }
91  
92      // --- business -----------------------------------------------------------
93  
94      // --- object basics ------------------------------------------------------
95  
96      /**
97       * {@inheritDoc}
98       *
99       * @see java.lang.Enum#toString()
100      */
101     @Override
102     public String toString()
103     {
104       return name;
105     }
106   }
107 
108   // ********************************* Methods ********************************
109 
110   // --- get&set --------------------------------------------------------------
111 
112   // --- business -------------------------------------------------------------
113 
114   // --- object basics --------------------------------------------------------
115 
116 }