Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2004 - 2011 Brian McCallister
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.skife.jdbi.v2.util;
 
 
Convenience base class for implementing typed result set mappers. Provides frequently used functionality.
 
 public abstract class TypedMapper<T> implements ResultSetMapper<T>
 {
     private final ResultSetMapper<T> internal;

    
Create a new instance which extracts the value from the first column
 
     public TypedMapper()
     {
         this(1);
     }

    
Create a new instance which extracts the value positionally in the result set

Parameters:
index 1 based column index into the result set
 
     public TypedMapper(int index)
     {
          = new IndexMapper(index);
     }

    
Create a new instance which extracts the value by name or alias from the result set

Parameters:
name The name or alias for the field
 
     public TypedMapper(String name)
     {
          = new StringMapper(name);
     }
 
     public final T map(int indexResultSet rStatementContext ctxthrows SQLException
     {
         return .map(indexrctx);
     }
 
     abstract protected T extractByName(ResultSet rString namethrows SQLException;
 
     abstract protected T extractByIndex(ResultSet rint indexthrows SQLException;
 
 
     private class StringMapper implements ResultSetMapper<T>
     {
         private final String name;
 
         StringMapper(String name)
         {
             this. = name;
         }
 
         public T map(int indexResultSet rStatementContext ctxthrows SQLException
         {
             return extractByName(r);
         }
     }
 
     private class IndexMapper implements ResultSetMapper<T>
     {
         private final int index;
 
         IndexMapper(int index)
         {
             this. = index;
         }
 
         public T map(int indexResultSet rStatementContext ctxthrows SQLException
         {
             return extractByIndex(rthis.);
         }
    }
New to GrepCode? Check out our FAQ X