RFR: 8314070: javax.print: Support IPP output-bin attribute extension [v9]

Alexander Scherbatiy alexsch at openjdk.org
Fri May 31 19:00:07 UTC 2024


On Fri, 31 May 2024 06:41:26 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

>> It is easy to add new constants to a public API but there is no way to remove them.
>> OutpuBin constants work only if they are listed among the supported output bins.
>> There is always a way to lookup `tray-n` output bin through the supported ones and it would work in the same way if it was included as a predefined constant.
>
> If it's only about adding tray-1 to tray-11 in the above list and not about whole lot of changes in other areas, so that supported list contains those "tray-N" values, I guess we should add them..
> I guess isSupportedAttributedValues(tray-N) will not return false in that case..

Suppose `getSupportedAttributeValues(OutputBin.class, null, null)` returns [`top`, `face-down`] output bins.
`isSupportedAttributedValues(...)` returns `true` for `OutputBin.TOP` and `OutputBin.FACE_DOWN` constants and `false` for `OutputBin.TRAY_1` if it was added in current implementation.

To make a one to one correspondence between `OutputBin.TOP` and `OutputBin.TRAY_1` constants it needs to add some logic and may be even make them equal in terms of `OutputBin` class which extends `EnumSyntax` class. 
It is not clear should such logic be provided in the current release or it is better to provide its proper implementation in the next release if necessary.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/16166#discussion_r1622841662


More information about the client-libs-dev mailing list