[
https://issues.apache.org/jira/browse/LUCENE-2310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845118#action_12845118
]
Chris Male commented on LUCENE-2310:
------------------------------------
Spent more time pondering how to deprecate Fieldable and the major issue is
Document#getFields(), which returns a modifiable List<Fieldable>. Because it
is modifiable, consumers can add to it directly rather than through Document.
If it were unmodifiable, then it would be possible to control adding Fieldables
in Document, which would then allow us to wrap Fieldable instances in a Field
subclass, meaning Document would only have a List<Field>.
Given this limitation, I'm currently thinking about not trying to deprecate
Fieldable in 3.x, but instead adding the unmodifiable list method and
deprecating #getFields(). I would also add some functionality for removing
Fieldables, which seems to be all thats lack in Document. Then in 4.x I would
deprecate Fieldable.
Slow process, but I think by deprecating AbstractField now we have already made
a step forward to improving this hierarchy in preparation for the FieldType
classes.
Remaining in this work is a code cleanup of all 3 classes, so that code is
understandable when we add in FieldType.
> Reduce Fieldable, AbstractField and Field complexity
> ----------------------------------------------------
>
> Key: LUCENE-2310
> URL: https://issues.apache.org/jira/browse/LUCENE-2310
> Project: Lucene - Java
> Issue Type: Sub-task
> Components: Index
> Reporter: Chris Male
> Attachments: LUCENE-2310-Deprecate-AbstractField.patch,
> LUCENE-2310-Deprecate-AbstractField.patch,
> LUCENE-2310-Deprecate-AbstractField.patch
>
>
> In order to move field type like functionality into its own class, we really
> need to try to tackle the hierarchy of Fieldable, AbstractField and Field.
> Currently AbstractField depends on Field, and does not provide much more
> functionality that storing fields, most of which are being moved over to
> FieldType. Therefore it seems ideal to try to deprecate AbstractField (and
> possible Fieldable), moving much of the functionality into Field and
> FieldType.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]