/* * Copyright (C) 2012, 2016 higherfrequencytrading.com * Copyright (C) 2016 Roman Leventov * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package net.openhft.chronicle.hash.impl.util; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Arrays; /** * java.util.Objects since Java 7 */ public final class Objects { public static int hash(Object... values) { return Arrays.hashCode(values); } public static boolean equal(@Nullable Object a, @Nullable Object b) { return a != null ? a.equals(b) : b == null; } public static boolean builderEquals(@NotNull Object builder, @Nullable Object o) { return builder == o || o != null && builder.getClass() == o.getClass() && builder.toString().equals(o.toString()); } public static void requireNonNull(Object obj) { if (obj == null) throw new NullPointerException(); } private Objects() {} }