Review request:Updated JDK-8004728 Implement core reflection API for parameter reflection (original) (raw)
Peter Levart peter.levart at gmail.com
Thu Dec 20 06:47:00 UTC 2012
- Previous message: Review request:Updated JDK-8004728 Implement core reflection API for parameter reflection
- Next message: Review request:Updated JDK-8004728 Implement core reflection API for parameter reflection
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 12/20/2012 06:33 AM, Eric McCorkle wrote:
On 12/19/12 18:47, Peter Levart wrote:
>Hi Eric, > >in Executable.java: > > 292 private Parameter[] privateGetParameters() { > 293 if (null != parameters) > 294 return parameters.get(); > > >If/when SoftReference is cleared,privateGetParameters will be returning >null forever. Also Executable objects are already SoftReferenced from >the Class. Do we need another level of SoftReferencing? I'd say not. I'll take that bit out. Hi again, Eric,
To be exact: only 'root' Executable objects are SoftReferenced from the Class. The copies that are exposed to user are not referenced at all (by reflection library). So as long as internal JDK code is not calling any new Parameter returning methods on 'root' Executable instances, they will never materialize any Parameter objects. The user only has to be aware that the Executable instance he/she has got hold on has a direct reference to any Parameter instances and vice versa. There is already a precedent for that: annotations are directly referenced from Field/Method/Constructor and they may have direct references to various Class instances.
Although the specification does not specify it, a nice addition to the API would be the following method on Executable:
Parameter getParameter(String parameterName);
...since parameter names are unique, aren't they? Parameter instances would have to be cached in a Map though.
Regards, Peter
- Previous message: Review request:Updated JDK-8004728 Implement core reflection API for parameter reflection
- Next message: Review request:Updated JDK-8004728 Implement core reflection API for parameter reflection
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]