218 throws ConfigurationException, IOException;
219
220 /**
221 * <p> Install one or more module files into this library. </p>
222 *
223 * @param mfs
224 * The module files to be installed
225 *
226 * @param verifySignature
227 * Perform signature verification of signed module files, if true.
228 * Otherwise treat the module files as unsigned.
229 *
230 * @throws ConfigurationException
231 * If a valid configuration cannot be computed
232 *
233 * @throws IOException
234 * If an I/O error occurs while accessing the module library
235 *
236 * @throws SignatureException
237 * If an error occurs while validating the signature
238 */
239 public abstract void install(Collection<File> mfs, boolean verifySignature)
240 throws ConfigurationException, IOException, SignatureException;
241
242 /**
243 * <p> Resolve the given collection of {@linkplain
244 * java.lang.module.ModuleIdQuery module-id queries} against this
245 * library. </p>
246 *
247 * @param midqs
248 * A non-empty collection of {@link java.lang.module.ModuleIdQuery
249 * ModuleIdQuery objects}
250 *
251 * @throws ConfigurationException
252 * If a valid {@link Resolution} cannot be computed
253 *
254 * @throws IOException
255 * If an I/O error occurs while accessing the module library
256 */
257 public abstract Resolution resolve(Collection<ModuleIdQuery> midqs)
258 throws ConfigurationException, IOException;
259
260 /**
261 * <p> Install any modules required by the given {@linkplain Resolution
262 * resolution}, and configure all of its root modules. </p>
263 *
264 * @param res
265 * A {@link Resolution} previously computed by the
266 * {@link Library#install install()} method
267 *
268 * @param verifySignature
269 * Perform signature verification, if true
270 *
271 * @throws ConfigurationException
272 * If a valid configuration cannot be computed
273 *
274 * @throws IOException
275 * If an I/O error occurs while accessing the module library
276 *
277 * @throws SignatureException
278 * If an error occurs while validating the signature
279 */
280 public abstract void install(Resolution res, boolean verifySignature)
281 throws ConfigurationException, IOException, SignatureException;
282
283 /**
284 * Remove one or more modules from this library.
285 *
286 * @param mids
287 * The module identifiers
288 *
289 * @param dry
290 * Perform a dry run (no changes to the module library), if true.
291 * Otherwise the modules may be removed.
292 *
293 * @throws ConfigurationException
294 * If the configuration of any root modules in the library
295 * require any of the given modules
296 *
297 * @throws IOException
298 * If an I/O error occurs while accessing the module library, or
|
218 throws ConfigurationException, IOException;
219
220 /**
221 * <p> Install one or more module files into this library. </p>
222 *
223 * @param mfs
224 * The module files to be installed
225 *
226 * @param verifySignature
227 * Perform signature verification of signed module files, if true.
228 * Otherwise treat the module files as unsigned.
229 *
230 * @throws ConfigurationException
231 * If a valid configuration cannot be computed
232 *
233 * @throws IOException
234 * If an I/O error occurs while accessing the module library
235 *
236 * @throws SignatureException
237 * If an error occurs while validating the signature
238 *
239 * @throws ModuleFileParserException
240 * If there is an error processing one the underlying module files
241 */
242 public abstract void install(Collection<File> mfs, boolean verifySignature)
243 throws ConfigurationException, IOException, SignatureException;
244
245 /**
246 * <p> Resolve the given collection of {@linkplain
247 * java.lang.module.ModuleIdQuery module-id queries} against this
248 * library. </p>
249 *
250 * @param midqs
251 * A non-empty collection of {@link java.lang.module.ModuleIdQuery
252 * ModuleIdQuery objects}
253 *
254 * @throws ConfigurationException
255 * If a valid {@link Resolution} cannot be computed
256 *
257 * @throws IOException
258 * If an I/O error occurs while accessing the module library
259 */
260 public abstract Resolution resolve(Collection<ModuleIdQuery> midqs)
261 throws ConfigurationException, IOException;
262
263 /**
264 * <p> Install any modules required by the given {@linkplain Resolution
265 * resolution}, and configure all of its root modules. </p>
266 *
267 * @param res
268 * A {@link Resolution} previously computed by the
269 * {@link Library#resolve resolve} method
270 *
271 * @param verifySignature
272 * Perform signature verification, if true
273 *
274 * @throws ConfigurationException
275 * If a valid configuration cannot be computed
276 *
277 * @throws IOException
278 * If an I/O error occurs while accessing the module library
279 *
280 * @throws SignatureException
281 * If an error occurs while validating the signature
282 *
283 * @throws ModuleFileParserException
284 * If there is an error processing the underlying module file
285 * required by the given resolution
286 */
287 public abstract void install(Resolution res, boolean verifySignature)
288 throws ConfigurationException, IOException, SignatureException;
289
290 /**
291 * Remove one or more modules from this library.
292 *
293 * @param mids
294 * The module identifiers
295 *
296 * @param dry
297 * Perform a dry run (no changes to the module library), if true.
298 * Otherwise the modules may be removed.
299 *
300 * @throws ConfigurationException
301 * If the configuration of any root modules in the library
302 * require any of the given modules
303 *
304 * @throws IOException
305 * If an I/O error occurs while accessing the module library, or
|