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

org.qedeq.kernel.bo.common.QedeqBoSet Maven / Gradle / Ivy

/* This file is part of the project "Hilbert II" - http://www.qedeq.org
 *
 * Copyright 2000-2013,  Michael Meyling .
 *
 * "Hilbert II" is free software; you can redistribute
 * it and/or modify it under the terms of the GNU General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) 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
 * GNU General Public License for more details.
 */

package org.qedeq.kernel.bo.common;

import java.util.Iterator;


/**
 * An instance of this interface represents a set of {@link QedeqBo}s.
 *
 * @author  Michael Meyling
 */
public interface QedeqBoSet {

    /**
     * Is element in set?
     *
     * @param   element    QedeqBo to check for.
     * @return  Is element in this set?
     * @throws  IllegalArgumentException if the element was a
     *          NullPointer
     */
    public boolean contains(final QedeqBo element);

    /**
     * Is this set empty?
     *
     * @return  Is this set empty?
     */
    public boolean isEmpty();

    /**
     * Get number of elements.
     *
     * @return  Number of elements in this set.
     */
    public int size();

    /**
     * Returns an iterator over the elements in this set.  The elements are
     * returned in no particular order (unless this set is an instance of some
     * class that provides a guarantee).
     *
     * @return  Iterator over the {@link QedeqBo} elements in this set.
     */
    public Iterator iterator();

    /**
     * Returns list of QEDEQ module names.
     *
     * @return  Comma separated list.
     */
    public String asShortList();

    /**
     * Returns list of QEDEQ module URLs.
     *
     * @return  Comma separated list.
     */
    public String asLongList();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy