[
https://issues.apache.org/jira/browse/JOHNZON-364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Struberg updated JOHNZON-364:
----------------------------------
Description:
It seems we trashed {{@JsonbVisibility}} for fields when we implemented
JOHNZON-250.
3.7.1 of the JSON-B spec defines the following visibility rules for fields
* if public setter/getter exists -> take that
* if non public setter/getter exists -> ignore
* OTHERWISE (no setter/getter at all) -> use fields
But all that must not get evaluted if an explicit VisibilityStrategy got
applied, isn't?
That means if there is a FieldVisibilityStrategy which enables all fields, then
it must not matter if there is e.g. a private getter/setter for that field,
right?
It seems currently we still skip those fields, which is imo wrong! Because as
of section 4.6 a custom JsonbVisibility always overrides default behaviour.
was:
It seems we trashed {{@JsonbVisibility}} for fields when we implemented
JONZON-250.
3.7.1 of the JSON-B spec defines the following visibility rules for fields
* if public setter/getter exists -> take that
* if non public setter/getter exists -> ignore
* OTHERWISE (no setter/getter at all) -> use fields
But all that must not get evaluted if an explicit VisibilityStrategy got
applied, isn't?
That means if there is a FieldVisibilityStrategy which enables all fields, then
it must not matter if there is e.g. a private getter/setter for that field,
right?
It seems currently we still skip those fields, which is imo wrong! Because as
of section 4.6 a custom JsonbVisibility always overrides default behaviour.
> JsonbVisibility must always win over default rules
> --------------------------------------------------
>
> Key: JOHNZON-364
> URL: https://issues.apache.org/jira/browse/JOHNZON-364
> Project: Johnzon
> Issue Type: Task
> Components: JSON-B
> Affects Versions: 1.2.16
> Reporter: Mark Struberg
> Assignee: Mark Struberg
> Priority: Major
> Fix For: 1.2.17
>
>
> It seems we trashed {{@JsonbVisibility}} for fields when we implemented
> JOHNZON-250.
> 3.7.1 of the JSON-B spec defines the following visibility rules for fields
> * if public setter/getter exists -> take that
> * if non public setter/getter exists -> ignore
> * OTHERWISE (no setter/getter at all) -> use fields
> But all that must not get evaluted if an explicit VisibilityStrategy got
> applied, isn't?
> That means if there is a FieldVisibilityStrategy which enables all fields,
> then it must not matter if there is e.g. a private getter/setter for that
> field, right?
> It seems currently we still skip those fields, which is imo wrong! Because as
> of section 4.6 a custom JsonbVisibility always overrides default behaviour.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)