[
https://issues.apache.org/jira/browse/SANDBOX-462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13919666#comment-13919666
]
Andre Diermann commented on SANDBOX-462:
----------------------------------------
I have two questions regarding the current routine of get():
- when one AccessibleObject is resolved directly, why isn't it put to the
cache? [1]
- when no best match could be obtained (I assume this is possible because of
bestMatch!= null), null would be put in cache. This will do not big damage
directly, but wouldn't this in theory slow down the whole routine significantly
because of a very large key set which has to be searched on every run (see line
90 in [3]). [2]
[1] see line 90 - 104 in [3]
[2] see line 152 - 156 in [3]
[3]
http://svn.apache.org/viewvc/commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/AccessibleObjectsRegistry.java?view=markup
> Refactoring of AccessibleObjectsRegistry
> ----------------------------------------
>
> Key: SANDBOX-462
> URL: https://issues.apache.org/jira/browse/SANDBOX-462
> Project: Commons Sandbox
> Issue Type: Improvement
> Components: BeanUtils2
> Reporter: Andre Diermann
> Priority: Minor
> Attachments: Commons-BeanUtils2-462#1.patch
>
>
> Summary:
> The AccessibleObjectsRegistry class provides two get methods, while one is a
> convenient method for the other.
> Both methods take one conditional parameter, boolean exact, and the actual
> get method is very long, which makes it somehow complex to understand.
> Suggestion:
> What could be improved IMHO:
> - Instead of using conditional methods, like get(boolean
> doSomethingSpecialIfTrue, ...), it is more convenient to provide dedicated
> methods like getSomething() and getAnotherThing().
> - In this regard the difference between an exact or, let's call it, matching
> descriptor should be expressed through inheritance rather than object
> allocation (= expressing it by a field boolean exact).
> - The very long get method should be refined
> - Another very minor issue is the naming of the paramTypes field within the
> inner AccessibleObjectDescriptor class, which I would suggest to rename to
> parameterTypes to fit the naming of the other occurrences.
--
This message was sent by Atlassian JIRA
(v6.2#6252)