commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Gregory (JIRA)" <>
Subject [jira] [Updated] (LANG-959) FieldUtils write methods do not write to final fields.
Date Thu, 30 Jan 2014 16:58:09 GMT


Gary Gregory updated LANG-959:

    Attachment: LANG-959.diff

Patch v2.

> FieldUtils write methods do not write to final fields.
> ------------------------------------------------------
>                 Key: LANG-959
>                 URL:
>             Project: Commons Lang
>          Issue Type: Improvement
>          Components: lang.reflect.*
>    Affects Versions: 3.2.1
>         Environment: Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17
> 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: Gary Gregory
>         Attachments: LANG-959.diff
> I have a use case where I need to use reflection to set a public static final Object.
> This does not work with our FieldUtils class because the "forceAccess" argument is only
used to deal with field visibility by calling Field#setAccessible(boolean)
> Q1: Should "forceAccess" be expanded to remove the final modifier? Or:
> Q2: Should we add another boolean parameter "forceWrite" to remove the FINAL modifier?
> I like Q1.
> Q3: The Accessible flag is NOT reset if changed after a write! I think it should be.
> The attached patch implements this BUT does not fix failing tests that expect writes
to fail on final fields. I left the tests failing to show clearly which ones fail so we can
discuss if:
> - this fixes a bug, 
> - is an improvement acceptable for the next release
> - or breaks too much for the next release
> Discuss here or on the ML.
> Thank you.

This message was sent by Atlassian JIRA

View raw message