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 logout from a issue management system.
20 */
21 public interface LogoutCommand extends Command<LogoutCommand>
22 {
23 // ********************************* Fields *********************************
24
25 // --- constants ------------------------------------------------------------
26
27 // ****************************** Initializer *******************************
28
29 // ****************************** Inner Classes *****************************
30
31 /**
32 * Defines parameters for the {@link LogoutCommand}.
33 */
34 public static enum Parameter implements CommandParameter<LogoutCommand>
35 {
36 // ***************************** Enumeration ******************************
37
38 // FIXME: Mapping in the implementation...
39
40 /**
41 * The logout identifier to signal the request to logout.
42 */
43 LOGOUT("logout");
44
45 // ******************************** Fields ********************************
46
47 // --- constants ----------------------------------------------------------
48
49 // --- members ------------------------------------------------------------
50
51 /**
52 * The name of the parameter.
53 * <p>
54 * The value of this constant is {@value}.
55 */
56 private final String name;
57
58 // ***************************** Constructors *****************************
59
60 /**
61 * Default constructor.
62 *
63 * @param name the name of the parameter.
64 */
65 private Parameter(final String name)
66 {
67 this.name = name;
68 }
69
70 // ******************************** Methods *******************************
71
72 // --- init ---------------------------------------------------------------
73
74 // --- get&set ------------------------------------------------------------
75
76 /**
77 * Returns the name of the parameter.
78 *
79 * @return the name of the parameter.
80 */
81 public String getName()
82 {
83 return name;
84 }
85
86 // --- business -----------------------------------------------------------
87
88 // --- object basics ------------------------------------------------------
89
90 /**
91 * {@inheritDoc}
92 *
93 * @see java.lang.Enum#toString()
94 */
95 @Override
96 public String toString()
97 {
98 return name;
99 }
100 }
101
102 // ********************************* Methods ********************************
103
104 // --- get&set --------------------------------------------------------------
105
106 // --- business -------------------------------------------------------------
107
108 // --- object basics --------------------------------------------------------
109
110 }