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}