View Javadoc
1   package org.apache.maven.doxia;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.codehaus.plexus.util.StringUtils;
23  
24  /**
25   * Wrap an exception that occurs if a format is not supported.
26   *
27   * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
28   */
29  public class UnsupportedFormatException
30      extends Exception
31  {
32      /** serialVersionUID */
33      static final long serialVersionUID = -4334290887832961366L;
34  
35      /**
36       * Constructs an UnsupportedFormatException with the specified
37       * detail message.
38       *
39       * @param format the unsupported format, not null
40       * @param supportedFormat the supported formats, not null
41       */
42      public UnsupportedFormatException( String format, String[] supportedFormat )
43      {
44          super( "Unsupported format '" + format + "'. The allowed format are: "
45              + StringUtils.join( supportedFormat, ", " ) );
46      }
47  
48      /**
49       * Construct a new UnsupportedFormatException with the specified
50       * detail message and cause.
51       *
52       * @param format the unsupported format, not null
53       * @param supportedFormat the supported formats, not null
54       * This can later be retrieved by the Throwable.getMessage() method.
55       * @param cause the cause. This can be retrieved later by the
56       * Throwable.getCause() method. (A null value is permitted, and indicates
57       * that the cause is nonexistent or unknown.)
58       */
59      public UnsupportedFormatException( String format, String[] supportedFormat, Throwable cause )
60      {
61          super( "Unsupported format '" + format + "'. The allowed format are: "
62              + StringUtils.join( supportedFormat, ", " ), cause );
63      }
64  }