
org.eclipse.equinox.region.RegionDigraphPersistence Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.eclipse.equinox.region Show documentation
Show all versions of org.eclipse.equinox.region Show documentation
Provides the concept of a region used to isolate bundles according to the configured sharing policy, which is applied across the framework using the OSGi hook APIs.
The newest version!
/*******************************************************************************
* Copyright (c) 2011, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.equinox.region;
import java.io.*;
/**
* A region digraph persistence is used to persist the state of a {@link RegionDigraph}.
*
* Concurrent Semantics
*
* Implementations of this interface must be thread safe.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface RegionDigraphPersistence {
/**
* Creates a new digraph and reads the content of the digraph from the provided input. The provided input must have
* been persisted using the {@link #save(RegionDigraph, OutputStream)} method.
*
* Note that the returned digraph is disconnected from the OSGi runtime. Any modifications made to the returned
* digraph will not affect the OSGi runtime behavior of the bundles installed in the running framework.
*
* The specified stream remains open after this method returns.
*
* @param input an input stream to read a digraph from.
* @return the new digraph
* @throws IOException if error occurs reading the digraph.
* @throws IllegalArgumentException if the input stream is not a digraph or has an incompatible persistent version
*/
RegionDigraph load(InputStream input) throws IOException;
/**
* Writes the specified {@link RegionDigraph} to the provided output in a form suitable for using the
* {@link #load(InputStream)} method.
*
* After the digraph has been written, the output stream is flushed. The output stream remains open after this
* method returns.
*
* @param digraph a digraph to be written.
* @param output an output stream to write a digraph to.
* @throws IOException if error occurs writing the digraph.
*/
void save(RegionDigraph digraph, OutputStream output) throws IOException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy