### Eclipse Workspace Patch 1.0 #P org.eclipse.core.filesystem Index: src/org/eclipse/core/filesystem/IFileStore.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/IFileStore.java,v retrieving revision 1.30 diff -u -r1.30 IFileStore.java --- src/org/eclipse/core/filesystem/IFileStore.java 17 Nov 2008 18:21:58 -0000 1.30 +++ src/org/eclipse/core/filesystem/IFileStore.java 6 May 2009 13:22:42 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2008 IBM Corporation and others. + * Copyright (c) 2005, 2009 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 @@ -379,14 +379,19 @@ public void move(IFileStore destination, int options, IProgressMonitor monitor) throws CoreException; /** - * Returns an open input stream on the contents of this file. The caller - * is responsible for closing the provided stream when it is no longer + * Returns an open input stream on the contents of this file. The number of + * concurrently open streams depends on the implementation and can be limited. + * The caller is responsible for closing the provided stream when it is no longer * needed. *

* The returned stream is not guaranteed to be buffered efficiently. When reading * large blocks of data from the stream, a BufferedInputStream * wrapper should be used, or some other form of content buffering. *

+ *

+ * It depends on the implementation how the limit of concurrently opened streams + * is handled. CoreException may be thrown, when the limit is exceeded. + *

* * @param options bit-wise or of option flag constants (currently only {@link EFS#NONE} * is applicable). @@ -395,26 +400,32 @@ * @return An input stream on the contents of this file. * @exception CoreException if this method fails. Reasons include: * */ public InputStream openInputStream(int options, IProgressMonitor monitor) throws CoreException; /** - * Returns an open output stream on the contents of this file. The caller - * is responsible for closing the provided stream when it is no longer - * needed. This file need not exist in the underlying file system at the + * Returns an open output stream on the contents of this file. The number of + * concurrently open streams depends on implementation and can be limited. + * The caller is responsible for closing the provided stream when it is no longer + * needed. This file need not exist in the underlying file system at the * time this method is called. *

- * The returned stream is not guaranteed to be buffered efficiently. When writing + * The returned stream is not guaranteed to be buffered efficiently. When writing * large blocks of data to the stream, a BufferedOutputStream * wrapper should be used, or some other form of content buffering. *

*

+ * It depends on the implementation how the limit of concurrently opened streams + * is handled. CoreException may be thrown, when the limit is exceeded. + *

+ *

* The {@link EFS#APPEND} update flag controls where - * output is written to the file. If this flag is specified, content written - * to the stream will be appended to the end of the file. If this flag is + * output is written to the file. If this flag is specified, content written + * to the stream will be appended to the end of the file. If this flag is * not specified, the contents of the existing file, if any, is truncated to zero * and the new output will be written from the start of the file. *

@@ -428,6 +439,7 @@ * */ public OutputStream openOutputStream(int options, IProgressMonitor monitor) throws CoreException;