package nl.tudelft.simulation.immutablecollections;
import java.util.Set;
/**
* A Set interface without the methods that can change it. The constructor of the ImmutableSet needs to be given an initial Set.
*
* Copyright (c) 2013-2018 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
* BSD-style license. See DSOL License.
*
* $LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $,
* initial version May 7, 2016
* @author Alexander Verbraeck
* @author Peter Knoppers
* @author Wouter Schakel
* @param the type of content of this Set
*/
public interface ImmutableSet extends ImmutableCollection
{
/**
* Returns a modifiable copy of this immutable set.
* @return a modifiable copy of this immutable set.
*/
Set toSet();
/**
* Force to redefine equals for the implementations of immutable collection classes.
* @param obj the object to compare this collection with
* @return whether the objects are equal
*/
@Override
boolean equals(Object obj);
/**
* Force to redefine hashCode for the implementations of immutable collection classes.
* @return the calculated hashCode
*/
@Override
int hashCode();
}