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

Sean Busbey commented on ACCUMULO-2487:
---------------------------------------

We can just use a static immutable zero-sized sequence. that way the readfields 
isn't wasting an array allocation. or atleast there's only 1 per JVM instance, 
and I believe we already have one sitting around.

In general, I favor javadocs over implementation. Specifically in the case of 
teh public API it's unreasonable to expect downstream dev to read code.

> Value implementation provides conflicting statements
> ----------------------------------------------------
>
>                 Key: ACCUMULO-2487
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2487
>             Project: Accumulo
>          Issue Type: Bug
>          Components: client
>            Reporter: Mike Drob
>            Priority: Critical
>             Fix For: 1.7.0
>
>
> The javadoc for the no-arg constructor for {{Value}} states that it "Creates 
> a zero-size sequence." However, the implementation of get will error in this 
> case.
> {code}
> public byte[] get() {
>     if (this.value == null) {
>       throw new IllegalStateException("Uninitialized. Null constructor " + 
> "called w/o accompanying readFields invocation");
>     }
> {code}
> Either we need to change the javadoc to be more explicit or change the 
> behaviour of various accessors in the class. I would consider both solutions 
> to be breaking of the API contract since we are changing what clients can 
> expect from us.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to