/* * Javolution - Java(TM) Solution for Real-Time and Embedded Systems * Copyright (C) 2012 - Javolution (http://javolution.org/) * All rights reserved. * * Permission to use, copy, modify, and distribute this software is * freely granted, provided that this notice is preserved. */ package javolution.util.service; import java.io.Serializable; import java.util.Collection; import javolution.util.function.Equality; import javolution.util.function.Splittable; /** * The fundamental set of related functionalities required to implement * fast collections. * * @author <a href="mailto:jean-marie@dautelle.com">Jean-Marie Dautelle</a> * @version 6.0, July 21, 2013 */ public interface CollectionService<E> extends Collection<E>, Splittable<CollectionService<E>>, Serializable, Cloneable { /** * Returns a copy of this collection; updates of the copy should not * impact the original. */ CollectionService<E> clone() throws CloneNotSupportedException; /** * Returns the comparator used for element equality or order if the * collection is sorted. */ Equality<? super E> comparator(); }