/* ******************************************************************************
* Copyright (c) 2006-2012 XMind Ltd. and others.
*
* This file is a part of XMind 3. XMind releases 3 and
* above are dual-licensed under the Eclipse Public License (EPL),
* which is available at http://www.eclipse.org/legal/epl-v10.html
* and the GNU Lesser General Public License (LGPL),
* which is available at http://www.gnu.org/licenses/lgpl.html
* See http://www.xmind.net/license.html for details.
*
* Contributors:
* XMind Ltd. - initial API and implementation
*******************************************************************************/
package org.xmind.core.marker;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import org.xmind.core.CoreException;
import org.xmind.core.util.IPropertiesProvider;
public interface IMarkerSheetBuilder {
/**
*
* @param resourceProvider
* @return
*/
IMarkerSheet createMarkerSheet(IMarkerResourceProvider resourceProvider);
/**
* NOTE: The input stream will NOT be closed after loading.
*
* @param stream
* @param resourceProvider
* @return
* @throws IOException
* @throws CoreException
*/
IMarkerSheet loadFromStream(InputStream stream,
IMarkerResourceProvider resourceProvider) throws IOException,
CoreException;
IMarkerSheet loadFromFile(File file,
IMarkerResourceProvider resourceProvider) throws IOException,
CoreException;
IMarkerSheet loadFromPath(String path,
IMarkerResourceProvider resourceProvider) throws IOException,
CoreException;
IMarkerSheet loadFromURL(URL url, IMarkerResourceProvider resourceProvider)
throws IOException, CoreException;
/**
* NOTE: The input stream will NOT be closed after loading.
*
* @param stream
* @param sheet
* @throws IOException
* @throws CoreException
* @deprecated Use {@link IPropertiesProvider} adapted from this marker
* sheet
*/
void loadProperties(InputStream stream, IMarkerSheet sheet)
throws IOException, CoreException;
}