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.model.resolution;
20
21 import org.apache.maven.model.Repository;
22
23 /**
24 * Signals an error when adding a repository to the model resolver.
25 *
26 * @author Benjamin Bentmann
27 */
28 public class InvalidRepositoryException extends Exception {
29
30 /**
31 * The repository that raised this error, can be {@code null}.
32 */
33 private Repository repository;
34
35 /**
36 * Creates a new exception with specified detail message and cause for the given repository.
37 *
38 * @param message The detail message, may be {@code null}.
39 * @param repository The repository that caused the error, may be {@code null}.
40 * @param cause The cause, may be {@code null}.
41 */
42 public InvalidRepositoryException(String message, Repository repository, Throwable cause) {
43 super(message, cause);
44 this.repository = repository;
45 }
46
47 /**
48 * Creates a new exception with specified detail message for the given repository.
49 *
50 * @param message The detail message, may be {@code null}.
51 * @param repository The repository that caused the error, may be {@code null}.
52 */
53 public InvalidRepositoryException(String message, Repository repository) {
54 super(message);
55 this.repository = repository;
56 }
57
58 /**
59 * Gets the repository that causes this error (if any).
60 *
61 * @return The repository that causes this error or {@code null} if not known.
62 */
63 public Repository getRepository() {
64 return repository;
65 }
66 }