Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#114 Beanfield class determined by how it will be accessed
Currently, the field property always determines the class of a
BeanProperty. This leads to confusing and faulty behaviour when the
method accessors differentiate from the field, leading, for example,
to the wrong BeanConverters being chosen or the wrong casts being made.
The behaviour should be legitimate, since the developer may choose to
map within a class. BeanMapper must make use of the access knowledge to
determine the class of the BeanProperty.
A BeanProperty will have a notion of how it will be accessed for its role
(either source or target). The possibilities are: field, getter, setter
or no access. The access type will have an influence on the reported
class of the beanfield.
When a BeanProperty is created, it will immediately build up its
understanding of the way its property will be accessed and the class
it must return upon being queried.
The creation process for BeanProperty instances has been abstracted into
its own class. The set of static methods was hard to test and convoluted
with its relatively large number of parameters that is being passed
around.
Structural use of BeanField has been renamed to BeanProperty; a bean
field is one of the two ways a property may be accessed, the other is
through its method accessor (get/set). The property is the combination
of its field and method accessors.
A collection list will no longer be offered for clear/reuse when the
class type of the accessor method differs from the class type of the
field.