Home » iBatis-2.3.4 » com.ibatis.sqlmap.engine.mapping » result » [javadoc | source]

    1   /*
    2    *  Copyright 2004 Clinton Begin
    3    *
    4    *  Licensed under the Apache License, Version 2.0 (the "License");
    5    *  you may not use this file except in compliance with the License.
    6    *  You may obtain a copy of the License at
    7    *
    8    *      http://www.apache.org/licenses/LICENSE-2.0
    9    *
   10    *  Unless required by applicable law or agreed to in writing, software
   11    *  distributed under the License is distributed on an "AS IS" BASIS,
   12    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   13    *  See the License for the specific language governing permissions and
   14    *  limitations under the License.
   15    */
   16   package com.ibatis.sqlmap.engine.mapping.result;
   17   
   18   
   19   import com.ibatis.sqlmap.engine.scope.RequestScope;
   20   
   21   import java.sql.ResultSet;
   22   import java.sql.SQLException;
   23   
   24   /**
   25    * This is a grouping of ResultMapping objects used to map results back to objects
   26    */
   27   public interface ResultMap {
   28   
   29     public static final Object NO_VALUE = new Object();
   30   
   31     /**
   32      * A way to identify the ResultMap
   33      * 
   34      * @return - an ID
   35      */
   36     public String getId();
   37   
   38     /**
   39      * Perform the mapping, and return the results
   40      * 
   41      * @param request - the request scope
   42      * @param rs - the result set to map
   43      * 
   44      * @return - an object array with the data in it
   45      * 
   46      * @throws SQLException - if an exception is thrown processing the results
   47      */
   48     public Object[] getResults(RequestScope request, ResultSet rs)
   49         throws SQLException;
   50   
   51     /**
   52      * Callback method for RowHandler
   53      * 
   54      * @param request - the request scope
   55      * @param resultObject - the object being populated
   56      * @param values - the values from the database
   57      * 
   58      * @return - the populated object
   59      */
   60     public Object setResultObjectValues(RequestScope request, Object resultObject, Object[] values);
   61   
   62     /**
   63      * Getter for the ResultMapping objects
   64      * 
   65      * @return - an array of ResultMapping objects
   66      */
   67     public ResultMapping[] getResultMappings();
   68   
   69     /**
   70      * Getter for the class that data wil be mapped into
   71      * 
   72      * @return - the class
   73      */
   74     public Class getResultClass();
   75   
   76     /**
   77      * Gets a unique key based on the values provided.
   78      * @param values Result values representing a single row of results.
   79      * @return The unique key.
   80      */
   81     public Object getUniqueKey(Object[] values);
   82   
   83     public ResultMap resolveSubMap (RequestScope request, ResultSet rs) throws SQLException;
   84   
   85     public Discriminator getDiscriminator();
   86   }

Home » iBatis-2.3.4 » com.ibatis.sqlmap.engine.mapping » result » [javadoc | source]