BufferedImage documentation inconsistent with implementation
Philip Race
philip.race at oracle.com
Thu Apr 13 21:38:20 UTC 2023
A BufferedImage is a single always writable Tile.
The method that is most questionable is releaseWritableTile(int, int)
being a no-op.
It doesn't even throw an AAIOB if you pass in something other than (0,0)
It probably should have a clause
"This method is a no-op and immediately returns without checking the
passed values
since a BufferedImage has only a single tile which is always writable."
The observer methods could also benefit from doc that observers will
never be added or
removed (no-op methods) since there will never any events to dispatch.
So there's no point in adding real support for listeners.
I think the doc on isTileWritable is well-intentioned but not well-worded.
-phil
On 4/12/23 3:08 AM, Martin Desruisseaux wrote:
>
> Hello all
>
> BufferedImage implements WritableRenderedImage, but the javadoc of all
> WritableRenderedImage methods are inconsistent with implementation:
>
> * getWritableTile(…) said "All registered TileObservers are notified
> when a tile goes from having no writers to having one writer" but
> the implementation doesn't do that.
> * releaseWritableTile(…) said "All registered TileObservers are
> notified when a tile goes from having one writer to having no
> writers" but the implementation does nothing.
> * isTileWritable(…) said "throws ArrayIndexOutOfBoundsException if
> both tileX and tileY are not equal to 0" but the implementation
> throws IllegalArgumentException is *either* tileX or tileY is not 0.
> * addTileObserver(…) and removeTileObserver(…) are no-op, but the
> javadoc don't said that.
>
> Should the javadoc be updated for saying that most methods are
> actually no-op, or should the implementation be updated with real
> support of listeners? Or should BufferedImage be considered as
> permanently checkout out for writing, in which case the current
> javadoc is not wrong (except above-cited throws clause) but a note
> about the "permanently checkout-out" behavior would be helpfui?
>
> Martin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/client-libs-dev/attachments/20230413/62ee5130/attachment.htm>
More information about the client-libs-dev
mailing list