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}