This document lists changes made to the I/O API.
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.
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
org.openide.windows.FoldHandle
org.openide.windows.IOColorLines
org.openide.windows.IOColorPrint
org.openide.windows.IOColors
org.openide.windows.IOContainer
org.openide.windows.IOFolding
org.openide.windows.IOPosition
org.openide.windows.IOProvider
org.openide.windows.IOSelect
org.openide.windows.OutputWriter
FoldHandle
; made by: jhavlin; issues:
#232316
Added methods that provide better info about state of fold handles, and methods that handle unexpected situations silently instead of throwing exceptions.
IOColors
; made by: jhavlin; issues:
#225439
Added enum elements LOG_SUCCESS, LOG_FAILURE, LOG_WARNING
and LOG_DEBUG
into IOColors.OutputType
that can be passed to get/setColor methods to have access
to color of standard logging messages.
IOColors
; made by: mentlicher; issues:
#228480
Added enum element IOColors.OutputType.INPUT
that can be passed to get/setColor methods to set a color of the
input text.
IOFolding
FoldHandle
; made by: jhavlin; issues:
#228022
Adding class IOFolding for checking that folding is supported and for creating folds in output window, and class FoldHandle for finishing the folds and creation of nested folds.
See
IOFolding,
FoldHandle.
IOProvider
; made by: jhavlin; issues:
#182538
Added method IOProvider.getIO
that takes all
4 supported parameters and that complements other
getIO
methods. See
IOProvider
The original mapping from IO name to IO object has been replaced with mapping from pair [IO container, IO name] to IO object. This mapping is used for reusing of IO objects.
IOSelect
; made by: ivan; issues:
#185209
Added class for fine control over select:
IOSelect
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.
IOColorPrint
; made by: t_h; issues:
#168898
Adding class for color printing.
IOColorPrint,
IOPosition
IOColors
IOColorLines
; made by: t_h; issues:
#157911
Adding "feature class" to control output color and programmatical scrolling.
IOColorLines,
IOColors,
IOPosition,
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.
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.
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.
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.