All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.carrot2.core.ReferenceEquality Maven / Gradle / Ivy

Go to download

Carrot2 search results clustering framework. Minimal functional subset (core algorithms and infrastructure, no document sources).

There is a newer version: 3.16.3
Show newest version

/*
 * Carrot2 project.
 *
 * Copyright (C) 2002-2013, Dawid Weiss, Stanisław Osiński.
 * All rights reserved.
 *
 * Refer to the full license file "carrot2.LICENSE"
 * in the root folder of the repository checkout or at:
 * http://www.carrot2.org/carrot2.LICENSE
 */

package org.carrot2.core;


/**
 * A wrapper around another {@link Object} that implements {@link Object#hashCode()}
 * and {@link Object#equals(Object)} based on reference equality of the delegate
 * object.
 * 
 * 

{@link #equals(Object)} is implemented assuming only objects of this class * are compared against each other (there is a cast to {@link ReferenceEquality} inside). * It makes little sense to compare this class with other types anyway.

*/ final class ReferenceEquality { private final Object delegate; private final int identityHashCode; public ReferenceEquality(Object delegate) { if (delegate == null) throw new IllegalArgumentException("Delegate must not be null."); this.delegate = delegate; this.identityHashCode = System.identityHashCode(delegate); } @Override public int hashCode() { return identityHashCode; } @Override public boolean equals(Object other) { if (other == null) { return false; } return ((ReferenceEquality) other).delegate == this.delegate; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy