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.logging.log4j.core.util; 18 19 import java.util.Objects; 20 21 /** 22 * Utility class providing common validation logic. 23 */ 24 public final class Assert { 25 private Assert() { 26 } 27 28 /** 29 * Throws a {@code NullPointerException} if the specified parameter is 30 * {@code null}, otherwise returns the specified parameter. 31 * <p> 32 * On Java 7, just use {@code Objects.requireNonNull(T, String)} 33 * </p> 34 * <p> 35 * Usage: 36 * </p> 37 * <pre> 38 * // earlier you would write this: 39 * public SomeConstructor(Object param) { 40 * if (param == null) { 41 * throw new NullPointerException("param"); 42 * } 43 * this.field = param; 44 * } 45 * 46 * // now you can do the same in one line: 47 * public SomeConstructor(Object param) { 48 * this.field = Assert.requireNonNull("param"); 49 * } 50 * </pre> 51 * 52 * @param <T> the type of the parameter to check and return 53 * @param object the parameter to check 54 * @param message message to populate the NPE with if necessary 55 * @return the specified parameter 56 * @throws NullPointerException if {@code object} is {@code null} 57 * @deprecated Will be removed in 2.5. 58 */ 59 @Deprecated 60 public static <T> T requireNonNull(final T object, final String message) { 61 return Objects.requireNonNull(object, message); 62 } 63 }