incubator-graffito-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Connelly (JIRA)" <j...@apache.org>
Subject [jira] Commented: (GRFT-101) Allow developer to supply "newInstace" method in subclass of ObjectConverterImpl
Date Thu, 14 Sep 2006 11:29:23 GMT
    [ 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

        

Mime
View raw message