org.integratedmodelling.api.data.IList Maven / Gradle / Ivy
The newest version!
package org.integratedmodelling.api.data;
/*******************************************************************************
* Copyright (C) 2007, 2014:
*
* - Ferdinando Villa - integratedmodelling.org - any
* other authors listed in @author annotations
*
* All rights reserved. This file is part of the k.LAB software suite, meant to enable
* modular, collaborative, integrated development of interoperable data and model
* components. For details, see http://integratedmodelling.org.
*
* This program is free software; you can redistribute it and/or modify it under the terms
* of the Affero General Public License Version 3 or any later version.
*
* 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 Affero General Public License for more details.
*
* You should have received a copy of the Affero General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite
* 330, Boston, MA 02111-1307, USA. The license is also available at:
* https://www.gnu.org/licenses/agpl.html
*******************************************************************************/
import java.util.List;
/**
* Open linked list, LISP-style. Immutable and general, not generic. Supports the obvious
* basic operations.
*
* Not meant to contain itself or lists that refer back to itself. I.e., it's suboptimal
* and laborious to build a graph representation with this one. If that's what you want,
* look at IReferenceList.
*
* @author Ferd
*/
public interface IList extends Iterable