public abstract class GridTerm extends DescrTerm
Beyond the reference to the LiteralStruct object, that is still useful for single column structure, it adds a JotyDataBuffer object. This makes this abstract class ready to support either LiteralStruct based components or multi-column components.
So it loads the record set associated ad allows its modification and, at last, stores it in the database. It participates in the editing session of the containing DataAccessPanel and its methods are invoked by the framework in a consistent way with the Joty technology, either in terms of being processing within a transaction or of making use of the Accessor object (if the accessor mode is set).
Then it provides support for the instantiated object to control another
StructuturedTerm object in a "one-to-many" relation: the selection of a row
of the object identifies a key for data selection on the controlled object
(in the code this relation is said master-slave). For supporting this
scenario it holds a vector of JotDataBuffer for buffering all the subset of
secondary data. The one to many relation ability applies to LiteralStructs
also: the Application.m_2L_literalMap
map is used for displaying the
suited LiteralStruct descriptions in the controlled object depending on
selection made in the 'master' object. The class can impersonate, indeed,
either the master or the slave object: the mode is held by the
m_slave
member variable.
Its data management behavior derives by the parameters provided in its creation and/or by the possible implementation of various available interfaces. Many of these interfaces however are usable only if the Accessor mode is not set.
In the case the contained component has a multi-column structure, the class provides methods for defining the grid composition and to add fields only to the buffer structure.
On the storing of the data, all the record set in the database is deleted and the new one is inserted. In the 'slave' case the preparing deletion operates on the id of the main entity, that one managed by the DataAccessPanel object, and the storing is performed using the entire set of JotyDataBuffer objects.
Modifier and Type | Class and Description |
---|---|
static interface |
GridTerm.LinkedAspectUpdater
Allows the definition of a whatever procedure for updating actions 'linked' to the data changing of this object.
|
static interface |
GridTerm.QueryInterface
Allows an overall definition of the underlying query in the case in which
the dialog doesn't work in Accessor mode.
|
static interface |
GridTerm.SelectionHandler |
static interface |
GridTerm.Selector |
DescrTerm.DynamicLiteralStructParams
Term.AlterFormatMethodInterface, Term.AsideLoadInterface, Term.CcpCommand, Term.TermEnclosable
m_dynamicLiteralStructParams, m_literalStruct
m_alterFormatMethod, m_asideLoadMethod, m_clearable, m_container, m_ctrlTermInitedByParam, m_defaultLiteralStruct, m_effectsIndex, m_extendedSet, m_isToBeLockedAnyWay, m_literalsCollectionInstance, m_mandatory, m_mask, m_msg, m_mustRemainEnabled, m_name, m_operatorsCombo, m_panel, m_required, m_tabIndex, m_updatingActor, m_valMirrorTermIdx, m_viewersManager
m_metaDataSource
Constructor and Description |
---|
GridTerm(TermContainerPanel panel,
int dataType,
TermContainerPanel.TermParams params) |
Modifier and Type | Method and Description |
---|---|
void |
addField(java.lang.String fieldName,
java.lang.String header) |
void |
addField(java.lang.String fieldName,
java.lang.String header,
int dataType) |
void |
addField(java.lang.String fieldName,
java.lang.String header,
int dataType,
boolean isFlag) |
void |
addField(java.lang.String fieldName,
java.lang.String header,
int dataType,
boolean isFlag,
boolean asCurrency) |
void |
addFieldAsCurrency(java.lang.String fieldName,
java.lang.String header) |
void |
addFieldAsFlag(java.lang.String fieldName,
java.lang.String header) |
void |
addFieldToBuffer(java.lang.String fieldName) |
void |
addFieldToBuffer(java.lang.String fieldName,
int dataType) |
void |
addFieldToBuffer(java.lang.String fieldName,
int dataType,
boolean asCurrency) |
void |
bufferRender() |
void |
checkLinkedAspectUpdater() |
void |
checkSelection() |
void |
checkSlaveTermBuffer() |
protected void |
clearComponent() |
protected WResultSet |
createAndOpenWRset() |
protected void |
createComponent(TermContainerPanel panel) |
protected void |
createSlaveTermBuffers(int pilotSize) |
java.util.Map<java.lang.Long,java.lang.String> |
descr2lMap(Application.LiteralStruct literalStruct) |
protected void |
doLoadData() |
protected boolean |
doStoreData() |
protected boolean |
explicitQuery() |
GridRowDescriptor.CellDescriptor |
fieldDescr(java.lang.String name) |
protected int |
getRowQty() |
ScrollGridPane |
getScrollPane() |
boolean |
innerClearData() |
boolean |
innerStore() |
boolean |
isDbConnectionFree() |
boolean |
isWindowVisible() |
void |
lookForDataStructure(WResultSet rs) |
protected long |
mainEntityVal() |
long |
mainTermData() |
void |
manageAsRelated(Application.LiteralStruct masterLiteralStruct,
boolean loadSetIfAvailable) |
void |
manageDoubleClick(java.awt.event.MouseEvent e) |
void |
newRow() |
protected void |
prepareRs(WResultSet rs) |
void |
preRender() |
void |
refresh() |
protected void |
removeAll() |
protected void |
renderAfterDeletion() |
void |
renderRecord(WResultSet rs,
java.lang.String m_keyFieldName) |
void |
reset() |
void |
selectLastRow() |
protected void |
set(Term srcTerm) |
void |
setAsDbFree() |
void |
setAsForeignField(java.lang.String name) |
void |
setGenIdAutoIncr() |
void |
setGenIdField(java.lang.String fieldName) |
void |
setKeyName(java.lang.String keyName) |
void |
setLiteralStruct() |
void |
setMainEntityField(java.lang.String fieldName) |
void |
structuredInit() |
void |
termRender(boolean checkUnselection) |
protected void |
updateAspect() |
void |
updateState(org.joty.data.WrappedField rowCell) |
clearAppReferences, getCurSelStrKey, loadDescrList, reloadDescrList, setDynamicLiteralStructParams
alert, checkForPublishing, checkPublishers, checkRendering, clear, commandDownMask, contextValue, createContextPostStatement, createDescrArrayParams, defaultValue, doRender, doValidate, effectsPostPone, enable, enableComponent, enableComponent, enableRelatedButtons, getComponent, getSelection, getSetStatus, getTermData, getWindowText, guiDataExch, innerLoad, isAControlTerm, isDataComplement, isDirty, isEnabledAsDetail, isLockedAnyway, isMandatory, isModifiable, isOnlyLoadingData, isReadOnly, isWindowEnabled, killFocus, langLocatedWarningMsg, locatedWarningMsg, manageTermConsistence, masterGridCellDescriptor, message, notifyEditingAction, notifyPublishing, render, renderedIdentity, selectionData, set, setAsControlTerm, setAsDataComplement, setCurSel, setDirty, setEnabledAsDetail, setLockedAnyway, setMandatory, setMandatory, setModifiable, setNotClearable, setOnlyLoadingData, setReadOnly, setRowActionButton, setSelection, setTermVal, setTermVal, setTermVal, setTermVal, setTermVal, setTermVal, setToVal, setToVal, setToVal, setToVal, setToVal, setToVal, show, sqlValueExpr, storeState, termRender, termRender, toString, toString, updateDrivenBuffer, updateState
dataTypeFromMetadataSource, dbFieldNameFromMetadataSource, dbFieldSpecifiedFromMetadataSource
checkType, clear, copyWField, copyWField, copyWField, dataType, dateVal, dbFieldName, dbFieldSpecified, doubleVal, floatVal, formatWrap, getInteger, getValFrom, getWField, integerVal, intVal, invalidAssignementMsg, isEmpty, isNull, render, render, render, resultSetDataType, resultSetFieldName, setData, setInteger, setToNull, setVal, setVal, setVal, setVal, setVal, setVal, setValFromDbSubmittedExpr, setWField, setWField, strVal, toString, typeCheck
public GridTerm.LinkedAspectUpdater m_linkedAspectUpdater
GridTerm.LinkedAspectUpdater
public boolean m_variableDescrSet
public boolean m_loadOnly
public java.lang.String m_targetDatumField
public JotyDataBuffer m_dataBuffer
public java.lang.String m_dataTable
public java.lang.String m_definedWhereClause
public java.lang.String m_mainEntityKeyField
public java.lang.String m_mainTermName
public DataAccessPanel.GetWhereClauseInterface m_whereClauseImplementor
public DataAccessPanel.GetDelStmntInterface m_delStatementImplementor
public DataAccessPanel.DefinedSetMethodInterface m_definedSetMethod
public DataAccessPanel.DefinedInsertMethodInterface m_definedInsertMethod
public Application.LiteralStruct m_mainTermLiteralStruct
public boolean m_slave
protected GridTerm m_mainTerm
protected java.util.Map<java.lang.Long,JotyDataBuffer> m_dataBuffers
public java.lang.String m_genIdField
public boolean m_autoIncrGenID
public java.lang.String m_seq_name
protected boolean m_newRowJustCreated
public GridTerm.QueryInterface m_queryInterface
public int m_mainIterator
public org.joty.access.Accessor.DataDef m_dataDef
protected org.joty.access.PostStatement m_queryDefPostStatement
protected boolean m_dbFree
public DataAccessPanel.ActionOnRowInterface m_actionOnRowHandler
public org.joty.gui.WFieldSet m_wfields
public GridRowDescriptor m_gridRowDescriptor
protected boolean m_gridRowDescriptorInitied
public GridTerm.SelectionHandler m_selectionHandler
public GridTerm.Selector m_selector
public org.joty.data.BasicJotyCursor m_descriptorOnLoad
public GridTerm(TermContainerPanel panel, int dataType, TermContainerPanel.TermParams params)
public void checkLinkedAspectUpdater()
public void checkSelection()
checkSelection
in class Term
protected void clearComponent()
clearComponent
in class Term
protected void createComponent(TermContainerPanel panel)
createComponent
in class DescrTerm
protected boolean explicitQuery()
public boolean innerClearData()
innerClearData
in class Term
public boolean innerStore()
innerStore
in class Term
public boolean isDbConnectionFree()
public boolean isWindowVisible()
isWindowVisible
in class Term
protected long mainEntityVal()
public long mainTermData()
public void manageAsRelated(Application.LiteralStruct masterLiteralStruct, boolean loadSetIfAvailable)
manageAsRelated
in class Term
public void newRow()
protected void removeAll()
protected void renderAfterDeletion()
public void renderRecord(WResultSet rs, java.lang.String m_keyFieldName)
public void selectLastRow()
public void setAsDbFree()
public void setLiteralStruct()
public java.util.Map<java.lang.Long,java.lang.String> descr2lMap(Application.LiteralStruct literalStruct)
public void setGenIdAutoIncr()
public void setGenIdField(java.lang.String fieldName)
public void setKeyName(java.lang.String keyName)
public void structuredInit()
structuredInit
in class Term
public void updateState(org.joty.data.WrappedField rowCell)
updateState
in class Term
public void addField(java.lang.String fieldName, java.lang.String header)
public void addField(java.lang.String fieldName, java.lang.String header, int dataType)
public void addField(java.lang.String fieldName, java.lang.String header, int dataType, boolean isFlag)
public void addField(java.lang.String fieldName, java.lang.String header, int dataType, boolean isFlag, boolean asCurrency)
public void addFieldAsCurrency(java.lang.String fieldName, java.lang.String header)
public void addFieldAsFlag(java.lang.String fieldName, java.lang.String header)
public void addFieldToBuffer(java.lang.String fieldName)
public void addFieldToBuffer(java.lang.String fieldName, int dataType)
public void addFieldToBuffer(java.lang.String fieldName, int dataType, boolean asCurrency)
public void bufferRender()
public void checkSlaveTermBuffer()
protected WResultSet createAndOpenWRset()
protected void createSlaveTermBuffers(int pilotSize)
protected void doLoadData()
protected boolean doStoreData()
public GridRowDescriptor.CellDescriptor fieldDescr(java.lang.String name)
fieldDescr
in class Term
protected int getRowQty()
public ScrollGridPane getScrollPane()
public void lookForDataStructure(WResultSet rs)
public void manageDoubleClick(java.awt.event.MouseEvent e)
protected void prepareRs(WResultSet rs)
public void setAsForeignField(java.lang.String name)
public void setMainEntityField(java.lang.String fieldName)
public void termRender(boolean checkUnselection)
termRender
in class Term
protected void updateAspect()
updateAspect
in class Term