1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.apache.maven.shared.jarsigner;
20
21 import java.io.File;
22
23 import org.apache.maven.shared.utils.cli.javatool.JavaToolRequest;
24
25 /**
26 * Specifies the common parameters used to control a JarSigner tool invocation.
27 *
28 * @author Tony Chemit
29 * @since 1.0
30 */
31 public interface JarSignerRequest extends JavaToolRequest {
32
33 /**
34 * Gets the value of the {@code verbose} field.
35 *
36 * @return the value of the {@code verbose} field.
37 */
38 boolean isVerbose();
39
40 /**
41 * Gets the value of the {@code keystore} field.
42 *
43 * @return the value of the {@code keystore} field.
44 */
45 String getKeystore();
46
47 /**
48 * Gets the value of the {@code storetype} field.
49 *
50 * @return the value of the {@code storetype} field.
51 */
52 String getStoretype();
53
54 /**
55 * Gets the value of the {@code storepass} field.
56 *
57 * @return the value of the {@code storepass} field.
58 */
59 String getStorepass();
60
61 /**
62 * Gets the value of the {@code providerName} field.
63 *
64 * @return the value of the {@code providerName} field.
65 */
66 String getProviderName();
67
68 /**
69 * Gets the value of the {@code providerClass} field.
70 *
71 * @return the value of the {@code providerClass} field.
72 */
73 String getProviderClass();
74
75 /**
76 * Gets the value of the {@code providerArg} field.
77 *
78 * @return the value of the {@code providerArg} field.
79 */
80 String getProviderArg();
81
82 /**
83 * Gets the value of the {@code alias} field.
84 *
85 * @return the value of the {@code alias} field.
86 */
87 String getAlias();
88
89 /**
90 * Gets the value of the {@code maxMemory} field.
91 *
92 * @return the value of the {@code maxMemory} field.
93 */
94 String getMaxMemory();
95
96 /**
97 * Gets the value of the {@code maxMemory} field.
98 *
99 * @return the value of the {@code maxMemory} field.
100 */
101 String[] getArguments();
102
103 /**
104 * Gets the value of the {@code workingDirectory} field.
105 *
106 * @return the value of the {@code workingDirectory} field.
107 */
108 File getWorkingDirectory();
109
110 /**
111 * Gets the value of the {@code archive} field.
112 * <p>
113 * The archive field is in fact the file on which the jarsigner request will be executed.
114 * </p>
115 *
116 * @return the value of the {@code archive} field.
117 */
118 File getArchive();
119
120 /**
121 * Gets the value of the command line tool parameter <pre>protected</pre>
122 *
123 * @return true iff the password must be given via a protected
124 * authentication path such as a dedicated PIN reader
125 */
126 boolean isProtectedAuthenticationPath();
127
128 /**
129 * Sets the new given value to the field {@code verbose} of the request.
130 *
131 * @param verbose the new value of the field {@code verbose}.
132 */
133 void setVerbose(boolean verbose);
134
135 /**
136 * Sets the new given value to the field {@code keystore} of the request.
137 *
138 * @param keystore the new value of the field {@code keystore}.
139 */
140 void setKeystore(String keystore);
141
142 /**
143 * Sets the new given value to the field {@code storetype} of the request.
144 *
145 * @param storetype the new value of the field {@code storetype}.
146 */
147 void setStoretype(String storetype);
148
149 /**
150 * Sets the new given value to the field {@code storepass} of the request.
151 *
152 * @param storepass the new value of the field {@code storepass}.
153 */
154 void setStorepass(String storepass);
155
156 /**
157 * Sets the new given value to the field {@code alias} of the request.
158 *
159 * @param alias the new value of the field {@code alias}.
160 */
161 void setAlias(String alias);
162
163 /**
164 * Sets the new given value to the field {@code providerName} of the request.
165 *
166 * @param providerName the new value of the field {@code providerName}.
167 */
168 void setProviderName(String providerName);
169
170 /**
171 * Sets the new given value to the field {@code providerClass} of the request.
172 *
173 * @param providerClass the new value of the field {@code providerClass}.
174 */
175 void setProviderClass(String providerClass);
176
177 /**
178 * Sets the new given value to the field {@code providerArg} of the request.
179 *
180 * @param providerArg the new value of the field {@code providerArg}.
181 */
182 void setProviderArg(String providerArg);
183
184 /**
185 * Sets the new given value to the field {@code maxMemory} of the request.
186 *
187 * @param maxMemory the new value of the field {@code maxMemory}.
188 */
189 void setMaxMemory(String maxMemory);
190
191 /**
192 * Sets the new given value to the field {@code arguments} of the request.
193 *
194 * @param arguments the new value of the field {@code arguments}.
195 */
196 void setArguments(String... arguments);
197
198 /**
199 * Sets the new given value to the field {@code workingDirectory} of the request.
200 *
201 * @param workingDirectory the new value of the field {@code workingDirectory}.
202 */
203 void setWorkingDirectory(File workingDirectory);
204
205 /**
206 * Sets the new given value to the field {@code archive} of the request.
207 *
208 * @param archive the new value of the field {@code archive}.
209 */
210 void setArchive(File archive);
211
212 /**
213 * Sets the value of the command line tool parameter <pre>protected</pre>
214 *
215 * @param protectedAuthenticationPath iff the password must be given via a protected
216 * authentication path such as a dedicated PIN reader
217 */
218 void setProtectedAuthenticationPath(boolean protectedAuthenticationPath);
219 }