lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eks Dev (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1217) use isBinary cached variable instead of instanceof in Filed
Date Tue, 11 Mar 2008 20:36:46 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-1217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577591#action_12577591
] 

Eks Dev commented on LUCENE-1217:
---------------------------------

thanks fof looking into it!
Subclassing now with backwards compatibility would be clumsy, I was thinking about it but
could not find clean way to make it.

>>Or we could wait until Java 5 (3.0) and use real enums?
yes, that is ultimate solution, but my line of thoughts was that "poor man's enum"->java
5 enum migration would be trivial later... but do not change working code kicks-in here :)
 

> use isBinary cached variable instead of instanceof in Filed
> -----------------------------------------------------------
>
>                 Key: LUCENE-1217
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1217
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Other
>            Reporter: Eks Dev
>            Assignee: Michael McCandless
>            Priority: Trivial
>         Attachments: LUCENE-1217.patch
>
>
> Filed class can hold three types of values, 
> See: AbstractField.java  protected Object fieldsData = null; 
> currently, mainly RTTI (instanceof) is used to determine the type of the value stored
in particular instance of the Field, but for binary value we have mixed RTTI and cached variable
"boolean isBinary" 
> This patch makes consistent use of cached variable isBinary.
> Benefit: consistent usage of method to determine run-time type for binary case  (reduces
chance to get out of sync on cached variable). It should be slightly faster as well.
> Thinking aloud: 
> Would it not make sense to maintain type with some integer/byte"poor man's enum" (Interface
with a couple of constants)
> code:java{
> public static final interface Type{
> public static final byte BOOLEAN = 0;
> public static final byte STRING = 1;
> public static final byte READER = 2;
> ....
> }
> }
> and use that instead of isBinary + instanceof? 

-- 
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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message