001package gu.sql2java; 002 003import com.google.common.base.Function; 004 005public class ColumnGetter<T> implements Function<BaseBean, T>{ 006 private final int columnId; 007 private final String columnName; 008 public ColumnGetter(int columnId) { 009 this.columnId = columnId; 010 this.columnName = null; 011 } 012 public ColumnGetter(String columnName) { 013 this.columnId = -1; 014 this.columnName = columnName; 015 } 016 @Override 017 public T apply(BaseBean input) { 018 if(null != input){ 019 if(columnId >= 0){ 020 return input.<T>getValue(columnId); 021 }else if(columnName != null){ 022 return input.<T>getValue(columnName); 023 } 024 } 025 return null; 026 } 027}