IllegalArgumentExceptions.java

  1. /*
  2.  * Licensed to the Apache Software Foundation (ASF) under one or more
  3.  * contributor license agreements. See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * The ASF licenses this file to You under the Apache license, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License. You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the license for the specific language governing permissions and
  15.  * limitations under the license.
  16.  */

  17. package org.apache.commons.text.lookup;

  18. /**
  19.  * Shorthands creating {@link IllegalArgumentException} instances using formatted strings.
  20.  *
  21.  * @since 1.3
  22.  */
  23. final class IllegalArgumentExceptions {

  24.     /**
  25.      * Creates an {@link IllegalArgumentException} with a message
  26.      * formatted with {@link String#format(String,Object...)}.
  27.      *
  28.      * @param format See {@link String#format(String,Object...)}
  29.      * @param args See {@link String#format(String,Object...)}
  30.      * @return an {@link IllegalArgumentException} with a message formatted with {@link String#format(String,Object...)}
  31.      */
  32.     static IllegalArgumentException format(final String format, final Object... args) {
  33.         return new IllegalArgumentException(String.format(format, args));
  34.     }

  35.     /**
  36.      * Creates an {@link IllegalArgumentException} with a message
  37.      * formatted with {@link String#format(String,Object...)}.
  38.      *
  39.      * @param t the throwable cause
  40.      * @param format See {@link String#format(String,Object...)}
  41.      * @param args See {@link String#format(String,Object...)}
  42.      * @return an {@link IllegalArgumentException} with a message formatted with {@link String#format(String,Object...)}
  43.      */
  44.     static IllegalArgumentException format(final Throwable t, final String format, final Object... args) {
  45.         return new IllegalArgumentException(String.format(format, args), t);
  46.     }

  47.     /**
  48.      * No need to build instances.
  49.      */
  50.     private IllegalArgumentExceptions() {
  51.         // empty
  52.     }
  53. }