View Javadoc
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.eclipse.aether;
20  
21  /**
22   * The base class for exceptions thrown by the repository system. <em>Note:</em> Unless otherwise noted, instances of
23   * this class and its subclasses will not persist fields carrying extended error information during serialization.
24   */
25  public class RepositoryException extends Exception {
26  
27      /**
28       * Creates a new exception with the specified detail message.
29       *
30       * @param message The detail message, may be {@code null}.
31       */
32      public RepositoryException(String message) {
33          super(message);
34      }
35  
36      /**
37       * Creates a new exception with the specified detail message and cause.
38       *
39       * @param message The detail message, may be {@code null}.
40       * @param cause The exception that caused this one, may be {@code null}.
41       */
42      public RepositoryException(String message, Throwable cause) {
43          super(message, cause);
44      }
45  
46      /**
47       * @param  prefix The prefix.
48       * @param cause The exception that caused this one, may be {@code null}.
49       * @return The message.
50       * @noreference This method is not intended to be used by clients.
51       */
52      protected static String getMessage(String prefix, Throwable cause) {
53          String msg = "";
54          if (cause != null) {
55              msg = cause.getMessage();
56              if (msg == null || msg.isEmpty()) {
57                  msg = cause.getClass().getSimpleName();
58              }
59              msg = prefix + msg;
60          }
61          return msg;
62      }
63  }