[ http://issues.apache.org/jira/browse/GRFT-101?page=comments#action_12434654 ] Dan Connelly commented on GRFT-101: -----------------------------------
Also, since collection may be an immutable (where collection cannot be set in an object, but items in the existing collection can be aded and removed), a similar hook in ObjectConverterImpl is needed to support an escape from having ReflectionUtils attempt to forace a NEW collection instance into the object: protected void setCollection(Object object, String fieldName, ManageableCollection collection) { ReflectionUtils.setNestedProperty(object, fieldName, collection); } Then change collection setter in retrieveCollectionField method to: this.setCollection(object, collectionDescriptor.getFieldName(), collection); > Allow developer to supply "newInstace" method in subclass of > ObjectConverterImpl > -------------------------------------------------------------------------------- > > Key: GRFT-101 > URL: http://issues.apache.org/jira/browse/GRFT-101 > Project: Graffito > Issue Type: Improvement > Affects Versions: 1.0-a1-dev > Environment: JCR Mapping > Reporter: Dan Connelly > > I used a simple change in ObjectConverterImpl. This allows me to use a > Factory class (in place of JavaBean constructors) in my object model. > I added the following method to ObjectConverterImpl.: > protected Object newInstance(String className) { > return ReflectionUtils.newInstance(className); > } > Elsewhere in ObjectConverterImpl, it will now invoke > this.newInstance(classDescriptor.getClassName()); > every where that is previously invoked > ReflectionUtils.newInstance(classDescriptor.getClassName()); > Now I can over-ride the newInstance method in MyObjectConverterImpl (which > subclasses ObjectConverterImpl). This allows me to construct objects for my > model using its Factory class. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira