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

Emmanuel Lecharny commented on DIRAPI-328:
------------------------------------------

+1 to rename the {{Value.getValue()}} to {{Valu.getString()}}

+1 to hav the {{Value.getString()}} throwing a 
{{LdapInvalidAttributeValueException}} instead of returning a empty string.

{{Value.getBytes()}} has a special purpose : return the {{byte[]}} representing 
the value, even if the value is a String. This is mainly use when we encode a 
message. In a sense, it will always work, because the interned value is 
computed when the String is stored :

{code:java}
    public Value( String upValue )
    {
        this.upValue = upValue;
        
        // We can't normalize the value, we store it as is
        normValue = upValue;
        
        if ( upValue != null )
        {
            bytes = Strings.getBytesUtf8( upValue );    <---- Here
        }
        
        hashCode();
    }
{code}

> Fix inconsistency in Attribute and Value
> ----------------------------------------
>
>                 Key: DIRAPI-328
>                 URL: https://issues.apache.org/jira/browse/DIRAPI-328
>             Project: Directory Client API
>          Issue Type: Improvement
>            Reporter: Stefan Seelmann
>            Assignee: Stefan Seelmann
>            Priority: Major
>             Fix For: 2.0.0.AM3
>
>
> Inconsistent method names:
> * Attribute: getString() and getBytes()
> * Value: getValue() and getBytes()
> * Proposal: Rename Value.getValue() to Value.getString()
> Inconsistent and wrong documented error handling:
> * Attribute: getString() and getBytes() check for isHumanReadable and throw 
> LdapInvalidAttributeValueException
> * Value: getValue()/getString() tries to UTF-8 encode bytes if not human 
> readable, which doesn't work always, and javadoc says "returns null"
> * Value: getBytes() doesn't check if is human readable
> * Proposal: Make Value behave like Attribute, i.e. throw 
> LdapInvalidAttributeValueException
> Opinions?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to