001package gu.sql2java;
002
003import static com.google.common.base.Preconditions.*;
004
005public class UnnameRow extends BaseRow {
006
007        private final Object[] values;
008        public static final ThreadLocal<RowMetaData> METADATA = new ThreadLocal<>();
009        public UnnameRow(RowMetaData metaData) {
010                super(metaData);
011                this.values = new Object[metaData.defaultColumnIdList.length];
012        }
013        public UnnameRow(){
014                this(checkNotNull(METADATA.get(),"tls variable METADATA is null"));
015        }
016        @Override
017        public boolean isNew() {
018                return false;
019        }
020        
021        @Override
022        public void setNew(boolean isNew) {
023
024        }
025        
026        @Override
027        public void resetIsModified() {
028        }
029        
030        @Override
031        public void resetPrimaryKeysModified() {
032
033        }
034        
035        @Override
036        public boolean isModified() {
037                return false;
038        }
039        
040        @Override
041        public final boolean isInitialized(int columnID) {
042                return columnID>=0 && columnID < metaData.columnCount;
043        }
044
045        @Override
046        public final boolean isModified(int columnID) {
047                return false;
048        }
049
050        @Override
051        public boolean isModified(String column) {
052                return false;
053        }
054
055        @SuppressWarnings("unchecked")
056        @Override
057        public final <T> T getValue(int columnID) {
058                try{
059                        return (T) values[columnID];
060                } catch (IndexOutOfBoundsException e) {
061                        return null;
062                }
063        }
064
065        @Override
066        public final <T> void setValue(int columnID, T value) {
067                try{
068                        values[columnID] = value;
069                } catch (IndexOutOfBoundsException e) {
070                }
071        }
072
073        @Override
074        public Object[] asValueArray(int...columnIds){
075                if(null == columnIds || columnIds.length == 0){
076                        return values;
077                }
078                return super.asValueArray(columnIds);
079        }
080
081        @Override
082        public UnnameRow clone(){
083                return (UnnameRow) super.clone();
084        }
085}