Introduction

This document lists changes made to the I/O API.


Index of APIs

Incompatible changes by date

Fuller descriptions of all changes can be found below (follow links).

Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.

All changes by date

Changes by version

These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:

OpenIDE-Module-Module-Dependencies: org.openide.io > 1.20

Changes by affected class

org.openide.windows.IOColorLines

org.openide.windows.IOColorPrint

org.openide.windows.IOColors

org.openide.windows.IOContainer

org.openide.windows.IOPosition

org.openide.windows.IOProvider

org.openide.windows.IOSelect

org.openide.windows.OutputWriter


Details of all changes by API and date


I/O APIs

Added API for fine grain control over IO select operation

May 1 '10; API spec. version: 1.23; affected top-level classes: IOSelect; made by: ivan; issues: #185209

Added class for fine control over select: IOSelect

Incompatible change to semantics of IOContainer.select()

May 1 '10; API spec. version: 1.23; affected top-level classes: IOContainer; made by: ivan; issues: #185209

After fixing bug#185209 IOContainer.select() no longer performs these operations for us so implementations of IOProvider have to do them: IOContainer.open() , IOContainer.requestVisible() .

Existing implementation of InputOutput.select() has been adjusted and is still compatible.

Adding API to have better control of text color and hyperlinks

Jul 24 '09; API spec. version: 1.18; affected top-level classes: IOColorPrint; made by: t_h; issues: #168898

Adding class for color printing. IOColorPrint,

Adding API to control output color and programmatical scrolling

Mar 6 '09; API spec. version: 1.16; affected top-level classes: IOPosition IOColors IOColorLines; made by: t_h; issues: #157911

Adding "feature class" to control output color and programmatical scrolling. IOColorLines, IOColors, IOPosition,

Multiple IOProvider support, possibility to specify "parent container" for IO tab

Feb 5 '09; API spec. version: 1.15; affected top-level classes: IOProvider IOContainer; made by: t_h; issues: #157911

Added static IOProvider.get(String name) to get specific implementation of IOProvider. Added IOProvider.getName() which should be overriden by subclasses to provide its name (ID).

IOContainer was introduced as an accessor to "parent container" for IO components (tab). IOProvider.getIO(String name, Action[] additionalActions, IOContainer ioContainer) can be used to specify alternative container.

First "feature class" IOTab added to provide API for getting/setting icon/tooltip for IO tab.

No need to require IOProvider token anymore

Jul 19 '06; API spec. version: 1.11; affected top-level classes: IOProvider; made by: jtulach; issues: #34699

If your module depends on org.openide.io > 1.11 or higher there is no need to specify that it also requires an implementation of the API by use of OpenIDE-Module-Requires: org.openide.windows.IOProvider, this token will be requested automatically by the org.openide.io module itself.

Added API to add actions to output's toolbar

Jan 12 '05; API spec. version: 1.6; affected top-level classes: IOProvider; made by: mkleint; issues: #43332

Added an additional method InputOutput getIO(String name, Action[] additionalActions) that accepts additional array of javax.swing.Action instances. It allows to define domain-specific additional actions that can be performed on the content of the output.

The method should be ideally abstract but because it's uncertain how many implementations of IOProvider are there, the method is non-abstract and in it's default impl, delegates to the InputOutput getIO(String name, boolean newIO) method. Implementors of the class are encourages to implement the new method.

Added API to mark OutputListeners a important

Nov 11 '04; API spec. version: 1.5; affected top-level classes: OutputWriter; made by: mkleint; issues: #48339

Added an additional method OutputWriter.println(String, OutputListener, boolean) that accepts additional boolean parameter (is Important or not). It allows the API users to mark the line and it's listener as important. Such a line can be marked in different color, the output can stop there to draw user's attention etc.

The method should be ideally abstract but because it's uncertain how many implementations are there, the method is non-abstract and in it's default impl, delegates to the OutputWriter.println(String, OutputListener) method, ignoring the boolean parameter. Implementors of the class are encourages to implement the new method.


Built on August 26 2014.  |  Portions Copyright 1997-2014 Sun Microsystems, Inc. All rights reserved.