You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Benedikt Ritter (JIRA)" <ji...@apache.org> on 2014/10/16 08:26:34 UTC

[jira] [Commented] (LANG-965) FieldUtils methods leak accessible flags

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

Benedikt Ritter commented on LANG-965:
--------------------------------------

This needs more thought. There is a fundamental problem with getField, since neither the user nor we can tell if the accessibility has been changed after we have handed the field out of the API. My opinion is, to get this right we will have to implement something like:

{code:java}
FieldUtils.doWithField("fieldName", true, new FieldAccessCallback(Field theField) {
   // user can do something with the field here
});
{code}

In doWithField we can restore the accessibility after we have called the callback.

> FieldUtils methods leak accessible flags
> ----------------------------------------
>
>                 Key: LANG-965
>                 URL: https://issues.apache.org/jira/browse/LANG-965
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.reflect.*
>    Affects Versions: 3.1, 3.2.1
>         Environment: Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 11:22:22-0400)
> Maven home: C:\Java\apache-maven-3.1.1\bin\..
> Java version: 1.7.0_51, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.7.0_51\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
>            Reporter: Gary Gregory
>            Assignee: Benedikt Ritter
>             Fix For: Patch Needed
>
>         Attachments: commons-lang-965.patch, commons-lang-965.patch
>
>
> When various FieldUtils methods are called the accessible is set to true but never reset to false. This is side-effect should be cleaned up.
> This makes a mess of the object model which represents the class meta data.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)