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 int getInitialized() {
028                return 0xffffffff;
029        }
030        
031        @Override
032        public void setInitialized(int initialized) {
033        }
034        @Override
035        public int getModified() {
036                return 0;
037        }
038        @Override
039        public void setModified(int modified) {
040        }
041        @Override
042        public void resetIsModified() {
043        }
044        
045        @Override
046        public void resetPrimaryKeysModified() {
047
048        }
049        
050        @Override
051        public boolean isModified() {
052                return false;
053        }
054        
055        @Override
056        public final boolean isInitialized(int columnID) {
057                return columnID>=0 && columnID < metaData.columnCount;
058        }
059
060        @Override
061        public final boolean isModified(int columnID) {
062                return false;
063        }
064
065        @Override
066        public boolean isModified(String column) {
067                return false;
068        }
069
070        @SuppressWarnings("unchecked")
071        @Override
072        public final <T> T getValue(int columnID) {
073                try{
074                        return (T) values[columnID];
075                } catch (IndexOutOfBoundsException e) {
076                        return null;
077                }
078        }
079
080        @Override
081        public final <T> void setValue(int columnID, T value) {
082                try{
083                        values[columnID] = value;
084                } catch (IndexOutOfBoundsException e) {
085                }
086        }
087
088        @Override
089        public Object[] asValueArray(int...columnIds){
090                if(null == columnIds || columnIds.length == 0){
091                        return values;
092                }
093                return super.asValueArray(columnIds);
094        }
095
096        @Override
097        public UnnameRow clone(){
098                return (UnnameRow) super.clone();
099        }
100}