/*
* 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() {}
}