public class JotyDataBuffer
extends java.lang.Object
It constructs an object made by Record
objects all having the same
structure (like the records in a database table). The structure of the record
is usually determined by the collection descriptors objects (of type
FieldDescriptor
of the WResultSet
object, normal source for
the data population of the buffer. This structure is 'imported in a local
'record descriptor' (currently spread on more members) for independent use
within the buffer.
Each record is made by WrappedField
objects the data type of which could be
derived by the descriptor on position basis, and the same can be said for the
name of the database field, nevertheless each WrappedField instance holds a
built-in reference to the descriptor host, that is to the container buffer
instance, and the positional index, such that to be able to get meta-data
from its inside.
The class offers several methods for accessing the single 'cell' of the buffer and to get complete information from it or from helper structures, and methods for modifying values of a record, for adding and deleting records.
The buffer may have defined one data field as key; then, on the value assumed by this field a map is built during data loading, so that normal lookup operations on the contained data may be performed.
JotyDataBuffer.Record
,
WrappedField
,
WResultSet
,
FieldDescriptor
Modifier and Type | Class and Description |
---|---|
class |
JotyDataBuffer.IdsStock |
class |
JotyDataBuffer.QueueManager
This class implements a linked list of IDs to provide a queuing service
for a group of entities all identified by the own unique index.
|
class |
JotyDataBuffer.Record |
Modifier and Type | Field and Description |
---|---|
int |
m_cursorPos |
boolean |
m_descriptorBuilt |
java.util.Vector<java.lang.String> |
m_fieldNames |
org.joty.common.CaselessStringKeyMap<java.lang.Integer> |
m_fieldNamesMap |
java.util.Vector<java.lang.Integer> |
m_fieldTypes |
int |
m_firstKeyPos |
org.joty.common.CaselessStringKeyMap<JotyDataBuffer.IdsStock> |
m_idsStocksMap |
protected int |
m_keyIndex |
java.lang.String |
m_keyName |
protected java.util.Map<java.lang.Long,java.lang.Integer> |
m_longKeyMap |
protected int |
m_maxRecord |
JotyDataBuffer.QueueManager |
m_queueManager |
protected JotyDataBuffer.Record |
m_record |
java.util.Vector<JotyDataBuffer.Record> |
m_records |
protected int |
m_recPos |
protected org.joty.common.CaselessStringKeyMap<java.lang.Integer> |
m_strKeyMap |
boolean |
m_textKey |
Constructor and Description |
---|
JotyDataBuffer() |
JotyDataBuffer(java.lang.String keyFieldName) |
Modifier and Type | Method and Description |
---|---|
protected void |
acquireRecordDescriptor(WResultSet rs) |
protected void |
addFromDataLayer(WResultSet rs) |
protected void |
buildRecord(JotyDataBuffer.Record record,
WResultSet sourceRs) |
void |
buildRecordDescriptor(WResultSet rs) |
protected void |
checkRecordDescriptor(WResultSet sourceRs) |
protected void |
colDescriptorIntoRecordDescriptor(org.joty.data.FieldDescriptor colDescr,
int pos) |
void |
copyFrom(JotyDataBuffer srcBuffer) |
protected org.joty.common.BasicPostStatement |
createContextPostStatement() |
org.joty.data.JotyDate |
dateTimeValue(java.lang.String fieldName) |
org.joty.data.JotyDate |
dateTimeValue(java.lang.String fieldName,
int recPos) |
org.joty.data.JotyDate |
dateValue(java.lang.String fieldName) |
org.joty.data.JotyDate |
dateValue(java.lang.String fieldName,
int recPos) |
double |
dblValue(java.lang.String fieldName) |
double |
dblValue(java.lang.String fieldName,
int recPos) |
void |
deleteRecord() |
void |
empty() |
void |
empty(boolean withDescriptor) |
java.lang.String |
getCellValue(int colIndex) |
java.lang.String |
getCellValue(int row,
int col) |
int |
getFieldIndex(java.lang.String fieldName) |
int |
getFieldType(int index) |
protected void |
getFromDataLayer(JotyDataBuffer.Record record,
WResultSet rs) |
long |
getKeyLongVal() |
long |
getKeyLongVal(int pos) |
java.lang.Integer |
getKeyPos(java.lang.Long lkey) |
java.lang.Integer |
getKeyPos(java.lang.String strKey) |
java.lang.String |
getKeyStrVal(int pos) |
org.joty.data.WrappedField |
getKeyVal() |
org.joty.data.WrappedField |
getKeyVal(java.lang.String fieldName) |
JotyDataBuffer.Record |
getRecord() |
java.lang.String |
getValueForSql(java.lang.String fieldName) |
org.joty.data.WrappedField |
getWField(int index) |
org.joty.data.WrappedField |
getWField(int row,
int col) |
org.joty.data.WrappedField |
getWField(java.lang.String fieldName) |
boolean |
inSetKeyCheck(org.joty.data.WrappedField wfield) |
long |
integerValue(java.lang.String fieldName) |
long |
integerValue(java.lang.String fieldName,
int recPos) |
int |
intValue(java.lang.String fieldName,
int recPos) |
boolean |
isNull(java.lang.String fieldName) |
boolean |
isNull(java.lang.String fieldName,
int recPos) |
int |
keyIndex() |
boolean |
keyIsText() |
boolean |
loadData(WResultSet rs) |
boolean |
loadData(WResultSet rs,
org.joty.common.BasicPostStatement postStatement) |
boolean |
loadData(WResultSet rs,
org.joty.common.BasicPostStatement postStatement,
GridTerm renderer) |
protected boolean |
loadDataBreak(int count) |
protected void |
loadDataProlog(WResultSet rs) |
long |
longValue(java.lang.String fieldName,
int recPos) |
void |
newRecord(WResultSet sourceRs) |
boolean |
recordLookup(long lKey) |
boolean |
recordLookup(java.lang.String strKey) |
void |
setCellValue(java.lang.String value,
int row,
int col) |
void |
setInteger(java.lang.String fieldName,
long lVal) |
void |
setInteger(java.lang.String fieldName,
long lVal,
int recPos) |
void |
setKeyFieldName(java.lang.String name) |
void |
setRowsQueuing(java.lang.String idField,
java.lang.String prevField,
java.lang.String nextField)
Instantiates the QueueManager object and sets it with the data table
fields participating in the queue implementation.
|
void |
setValue(java.lang.String fieldName,
double dblVal) |
void |
setValue(java.lang.String fieldName,
float fltVal) |
void |
setValue(java.lang.String fieldName,
int iVal) |
void |
setValue(java.lang.String fieldName,
int iVal,
int recPos) |
void |
setValue(java.lang.String fieldName,
org.joty.data.JotyDate dateVal) |
void |
setValue(java.lang.String fieldName,
long lVal) |
void |
setValue(java.lang.String fieldName,
long lVal,
int recPos) |
void |
setValue(java.lang.String fieldName,
java.lang.String strVal) |
void |
setValue(java.lang.String fieldName,
java.lang.String strVal,
int recPos) |
void |
setValue(java.lang.String fieldName,
org.joty.data.WrappedField source) |
float |
sngValue(java.lang.String fieldName) |
float |
sngValue(java.lang.String fieldName,
int recPos) |
java.lang.String |
strValue(java.lang.String fieldName) |
java.lang.String |
strValue(java.lang.String fieldName,
int recPos) |
protected void |
updateBuffIndex() |
org.joty.data.WrappedField |
wfield(java.lang.String fieldName) |
org.joty.data.WrappedField |
wfield(java.lang.String fieldName,
boolean debugSilent) |
org.joty.data.WrappedField |
wfield(java.lang.String fieldName,
boolean debugSilent,
boolean canBeNull) |
org.joty.data.WrappedField |
wfield(java.lang.String fieldName,
int recPos) |
boolean |
writeRecord(int recordPos,
WResultSet rs) |
boolean |
writeRecord(WResultSet rs) |
public java.lang.String m_keyName
public boolean m_textKey
public java.util.Vector<JotyDataBuffer.Record> m_records
public int m_cursorPos
public boolean m_descriptorBuilt
protected int m_keyIndex
public int m_firstKeyPos
protected JotyDataBuffer.Record m_record
public org.joty.common.CaselessStringKeyMap<java.lang.Integer> m_fieldNamesMap
protected org.joty.common.CaselessStringKeyMap<java.lang.Integer> m_strKeyMap
protected java.util.Map<java.lang.Long,java.lang.Integer> m_longKeyMap
public java.util.Vector<java.lang.String> m_fieldNames
public java.util.Vector<java.lang.Integer> m_fieldTypes
protected int m_maxRecord
protected int m_recPos
public JotyDataBuffer.QueueManager m_queueManager
public org.joty.common.CaselessStringKeyMap<JotyDataBuffer.IdsStock> m_idsStocksMap
public JotyDataBuffer()
public JotyDataBuffer(java.lang.String keyFieldName)
protected void acquireRecordDescriptor(WResultSet rs)
protected void addFromDataLayer(WResultSet rs)
protected void buildRecord(JotyDataBuffer.Record record, WResultSet sourceRs)
public void buildRecordDescriptor(WResultSet rs)
protected void checkRecordDescriptor(WResultSet sourceRs)
protected void colDescriptorIntoRecordDescriptor(org.joty.data.FieldDescriptor colDescr, int pos)
public void copyFrom(JotyDataBuffer srcBuffer)
protected org.joty.common.BasicPostStatement createContextPostStatement()
public org.joty.data.JotyDate dateTimeValue(java.lang.String fieldName)
public org.joty.data.JotyDate dateTimeValue(java.lang.String fieldName, int recPos)
public org.joty.data.JotyDate dateValue(java.lang.String fieldName)
public org.joty.data.JotyDate dateValue(java.lang.String fieldName, int recPos)
public double dblValue(java.lang.String fieldName)
public double dblValue(java.lang.String fieldName, int recPos)
public void deleteRecord()
public void empty()
public void empty(boolean withDescriptor)
public java.lang.String getCellValue(int colIndex)
public java.lang.String getCellValue(int row, int col)
public int getFieldIndex(java.lang.String fieldName)
public int getFieldType(int index)
protected void getFromDataLayer(JotyDataBuffer.Record record, WResultSet rs)
public long getKeyLongVal()
public long getKeyLongVal(int pos)
public java.lang.Integer getKeyPos(java.lang.Long lkey)
public java.lang.Integer getKeyPos(java.lang.String strKey)
public java.lang.String getKeyStrVal(int pos)
public org.joty.data.WrappedField getKeyVal()
public org.joty.data.WrappedField getKeyVal(java.lang.String fieldName)
public JotyDataBuffer.Record getRecord()
public java.lang.String getValueForSql(java.lang.String fieldName)
public org.joty.data.WrappedField getWField(int index)
public org.joty.data.WrappedField getWField(int row, int col)
public org.joty.data.WrappedField getWField(java.lang.String fieldName)
public boolean inSetKeyCheck(org.joty.data.WrappedField wfield)
public long integerValue(java.lang.String fieldName)
public long integerValue(java.lang.String fieldName, int recPos)
public int intValue(java.lang.String fieldName, int recPos)
public boolean isNull(java.lang.String fieldName)
public boolean isNull(java.lang.String fieldName, int recPos)
public int keyIndex()
public boolean keyIsText()
public boolean loadData(WResultSet rs)
public boolean loadData(WResultSet rs, org.joty.common.BasicPostStatement postStatement)
public boolean loadData(WResultSet rs, org.joty.common.BasicPostStatement postStatement, GridTerm renderer)
protected boolean loadDataBreak(int count)
protected void loadDataProlog(WResultSet rs)
public long longValue(java.lang.String fieldName, int recPos)
public void newRecord(WResultSet sourceRs)
public boolean recordLookup(long lKey)
public boolean recordLookup(java.lang.String strKey)
public void setCellValue(java.lang.String value, int row, int col)
public void setInteger(java.lang.String fieldName, long lVal)
public void setInteger(java.lang.String fieldName, long lVal, int recPos)
public void setKeyFieldName(java.lang.String name)
public void setRowsQueuing(java.lang.String idField, java.lang.String prevField, java.lang.String nextField)
JotyDataBuffer.QueueManager
public void setValue(java.lang.String fieldName, double dblVal)
public void setValue(java.lang.String fieldName, float fltVal)
public void setValue(java.lang.String fieldName, int iVal)
public void setValue(java.lang.String fieldName, int iVal, int recPos)
public void setValue(java.lang.String fieldName, org.joty.data.JotyDate dateVal)
public void setValue(java.lang.String fieldName, long lVal)
public void setValue(java.lang.String fieldName, long lVal, int recPos)
public void setValue(java.lang.String fieldName, java.lang.String strVal)
public void setValue(java.lang.String fieldName, java.lang.String strVal, int recPos)
public void setValue(java.lang.String fieldName, org.joty.data.WrappedField source)
public float sngValue(java.lang.String fieldName)
public float sngValue(java.lang.String fieldName, int recPos)
public java.lang.String strValue(java.lang.String fieldName)
public java.lang.String strValue(java.lang.String fieldName, int recPos)
protected void updateBuffIndex()
public org.joty.data.WrappedField wfield(java.lang.String fieldName)
public org.joty.data.WrappedField wfield(java.lang.String fieldName, boolean debugSilent)
public org.joty.data.WrappedField wfield(java.lang.String fieldName, boolean debugSilent, boolean canBeNull)
public org.joty.data.WrappedField wfield(java.lang.String fieldName, int recPos)
public boolean writeRecord(int recordPos, WResultSet rs)
public boolean writeRecord(WResultSet rs)