[
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)