com.ibatis.sqlmap.engine.mapping.result
Interface ResultObjectFactory


public interface ResultObjectFactory

iBATIS uses an implementation of this interface to create result objects after the execution of a statement. To use, specify your implementation class as the type for the "resultObjectFactory" element in the SqlMapConfig. Any implementation of this interface must have a public no argument constructor.

Author:
Jeff Butler

Method Summary
 java.lang.Object createInstance(java.lang.String statementId, java.lang.Class clazz)
          Returns a new instance of the requested class.
 void setProperty(java.lang.String name, java.lang.String value)
          Called for each property configured in the SqlMapCong file.
 

Method Detail

createInstance

public java.lang.Object createInstance(java.lang.String statementId,
                                       java.lang.Class clazz)
                                throws java.lang.InstantiationException,
                                       java.lang.IllegalAccessException
Returns a new instance of the requested class. iBATIS will call this method in these circumstances: If you return null from this method, iBATIS will attempt to create in instance of the class with it's normal mechanism. This means that you can selectively choose which objects to create with this interface. In the event that you choose not to create an object, iBATIS will translate some common interfaces to their common implementations. If the requested class is List or Collection iBATIS will create an ArrayList. If the requested class is Set then iBATIS will create a HashSet. But these rules only apply if you choose not to create the object. So you can use this factory to supply custom implementations of those interfaces if you so desire.

Parameters:
statementId - the ID of the statement that generated the call to this method
clazz - the type of object to create
Returns:
a new instance of the specified class. The instance must be castable to the specified class. If you return null, iBATIS will attempt to create the instance using it's normal mechanism.
Throws:
java.lang.InstantiationException - if the instance cannot be created. If you throw this Exception, iBATIS will throw a runtime exception in response and will end.
java.lang.IllegalAccessException - if the constructor cannot be accessed. If you throw this Exception, iBATIS will throw a runtime exception in response and will end.

setProperty

public void setProperty(java.lang.String name,
                        java.lang.String value)
Called for each property configured in the SqlMapCong file. All the properties will be set before any call is made to createInstance

Parameters:
name -
value -