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

Robert Muir commented on LUCENE-3259:
-------------------------------------

{quote}
If D&PEnum says getPayload() returns null if there is no payload, then why do 
you say it's not defined? I don't mind if we change the contract to 
hasPayload() first, then getPayload().
{quote}

Let me rephrase what I mean: currently if you call getPayload(), and there is 
no payload, it does not actually always return null :) So its "defined" but 
does not work as defined.

The only safe thing at the moment to do if you are not sure if there is a 
payload, is to check hasPayload() first, and if this returns false, do not mess 
with getPayload().

If you are sure there is a payload, you don't need to do anything with 
hasPayload().


> need to clarify/change D&Penum api for hasPayload/getPayload
> ------------------------------------------------------------
>
>                 Key: LUCENE-3259
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3259
>             Project: Lucene - Java
>          Issue Type: Bug
>            Reporter: Robert Muir
>
> We encountered this bug while integrating the faceting module:
> * D&PEnum says getPayload() will return null if there is no payload.
> * however, in some cases this is not what happens.
> * things do work (with no exceptions), if you always check hasPayload() first.
> The easiest fix could be to correct the javadocs, and say that you should 
> always check hasPayload() first... otherwise getPayload() is not defined.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to