package CH.ifa.draw.io.exportFormats;


/**
 * Container for ExportFormats. Is an ExportFormat itself.
 * Can be used to arrange ExportFormats in groups.
 * @deprecated This type is not to be used anymore. Please use {@link de.renew.ioontology.exporting.ExportFormatMulti} and its subtypes instead.
 */
@Deprecated(since = "5.0", forRemoval = true)
@SuppressWarnings("removal")
public interface ExportFormatMulti extends ExportFormat {

    /**
      * Adds a format to the MultiFormat.
      * @require format != null.
      * @ensure format.equals(getExportFormat(format.formatId())) == true.
      * @param format The format to be added to MultiFormat.
      */
    public void addExportFormat(ExportFormat format);

    /**
      * Remove a format from the MultiFormat.
      * @ensure getExportFormat(formatId) == null.
      * @param format the format to be removed.
      */
    public void removeExportFormat(ExportFormat format);

    /**
     * Returns all formats in the MultiFormat.
     * @ensure result != null.
     * @return Iterator All formats in MultiFormat.
     */
    public ExportFormat[] allExportFormats();
}