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

org.eclipse.equinox.region.RegionDigraphPersistence Maven / Gradle / Ivy

Go to download

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