[
https://issues.apache.org/jira/browse/IBATIS-382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462685
]
Murtaza Goga commented on IBATIS-382:
-------------------------------------
The attached zip contains two patches for the two options I had discussed.
1. ResultObjectFactoryMapAware.patch
2. ResultObjectFactoryAppendMapId.patch
> ResultObjectFactory Object Creation Context
> -------------------------------------------
>
> Key: IBATIS-382
> URL: https://issues.apache.org/jira/browse/IBATIS-382
> Project: iBatis for Java
> Issue Type: Improvement
> Components: SQL Maps
> Affects Versions: 2.3.0
> Environment: Not relevant
> Reporter: Murtaza Goga
> Priority: Minor
> Attachments: IBATIS-382.zip
>
>
> The ResultObjectFactory is a great mechanism to allow the creation of objects
> and their subsequent initialization in the factory. The ResultObjectFactory
> is invoked with the statementID and Class of the object to be created. The
> statementID is a good discriminator for the create operation to make
> decisions, however the correlation to the object is not that strong. The
> resultMap identifier or parameterMap identifier have a closer relationship to
> the object being created.
> This issue is about providing better context to the factory than just the
> statement identifier.
> There are some options which could be used to address this improvement:
> 1. Add an extended factory interface which takes a third parameter the
> executing map id. ResultObjectFactoryMapIdAware.create(statementId, mapId,
> Class)
> 2. System property to optionally append the map id to the statement id to
> the delimiter. (statementId#resultMapId)
> 3. Changes in the resulMap configuration to pass custom parameters to the
> factory from the resultMap. N child elements <factoryParam name="foo"
> value="bar />.
> I have patches for 1 and 2, but I have not spent much time on 3, since it is
> a bit intrusive. It does offer the most flexibility though.
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira