Package lumis.doui.table.field
Class GenericTableSourceField
- java.lang.Object
-
- lumis.doui.source.field.BaseSourceField
-
- lumis.doui.source.field.BaseTabularSourceField
-
- lumis.doui.table.field.BaseTableSourceField
-
- lumis.doui.table.field.GenericTableSourceField
-
- All Implemented Interfaces:
ISourceField
,ITabularSourceField
,ITableSourceField
- Direct Known Subclasses:
ChannelTableSourceField
,CommentContentLocaleField
,DocumentSourceField
,ExperimentalGenericTableSourceField
,FileSizeField
,FileTableSourceField
,HtmlTableSourceField
,MediaSourceField
,PageTableSourceField
,ParentContentSourceField
,SingleColumnTableSourceField
,UserField
@StableMinor(version="17.0", sinceVersion="4.0") public class GenericTableSourceField extends BaseTableSourceField
A generic table source field. This generic field maps to one column in a table and has the option to do a lookup on os taken from this field's definition node.- Since:
- 4.0.4
- Version:
- $Revision$ $Date$
-
-
Field Summary
Fields Modifier and Type Field Description protected QueryField
localizeResourceQueryField
The localize resource field that is used for localizing the value of the field.protected QueryField
lookupQueryField
The lookup query field that is used for this field.-
Fields inherited from class lumis.doui.source.field.BaseTabularSourceField
columnName, position, primaryKey, primaryName, sortable
-
Fields inherited from class lumis.doui.source.field.BaseSourceField
converter, dataType, defaultValue, definitionNode, display, doOptionLookup, externalData, getData, id, introduction, keywords, localize, maximumValue, minimumValue, name, parentId, pattern, readOnly, required, requiredWhenVisible, searchable, source
-
-
Constructor Summary
Constructors Constructor Description GenericTableSourceField()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
convertRowToFieldData(ISourceData databaseRow, ISourceData sourceRow)
Converts a row read from the data provider to this source field type.protected java.lang.Object
convertToQueryFieldValue(QueryField queryField, java.lang.Object value)
Convert the value to the value to be assigned to the given query field.java.lang.Object
getAssignedValue(QueryBase queryBase)
Returns the value assigned as this field's value in the given query.protected java.lang.Object
getDefaultInsertValue()
QueryField
getDisplayQueryField(QueryBase queryBase)
Returns the query field to be used for display purposes for this field.java.util.List<QueryAssignment>
getQueryAssignments(QueryInsert queryInsert, IParameters parameters)
Returns a list of query assignments to be used in the given query insert.java.util.List<QueryAssignment>
getQueryAssignments(QueryUpdate queryUpdate, IParameters parameters)
Returns a list of query assignments to be used in the given query update.protected QueryField
getQueryField(QueryBase queryBase)
Returns the main query field for this source field.protected QueryField
getQueryField(QueryBase queryBase, boolean useLookupField)
Returns the query field for this field.IQueryFilter
getQueryFilter(QueryBase queryBase, TableSourceFilter filter)
Returns a query filter for this field.java.util.List<QuerySortOrder>
getQuerySortOrders(QueryBase queryBase, java.lang.String direction)
Returns a list of sort orders to be applied when it is to be ordered by this field.TableSourceFieldMapping
getTableMapping(QueryBase queryBase)
Returns the table mapping for this field.void
init(Source source, org.w3c.dom.Node fieldNode)
Initializes this source field.-
Methods inherited from class lumis.doui.table.field.BaseTableSourceField
isLookupEnabled
-
Methods inherited from class lumis.doui.source.field.BaseTabularSourceField
getColumnName, isInsertable, isPosition, isPrimaryKey, isPrimaryName, isSortable, isUpdatable
-
Methods inherited from class lumis.doui.source.field.BaseSourceField
addDocumentFields, addDocumentTypeFields, convertToFieldValueClass, createConverter, createDataType, getConverter, getDataType, getDefaultControlDefinition, getDefaultInputControlDefinition, getDefaultValue, getDefaultViewControlDefinition, getDefinitionNode, getDocumentFieldBaseId, getId, getMaximumValue, getMinimumValue, getName, getValueClass, isBigDataEnabled, isDisplay, isExternalData, isGetData, isIntroduction, isIntroductionImage, isKeywords, isLocalize, isParentId, isPublishStartDate, isReadOnly, isRequired, isRequiredWhenVisible, isSearchable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface lumis.doui.source.field.ISourceField
addDocumentFields, addDocumentTypeFields, getConverter, getDataType, getDefaultControlDefinition, getDefaultInputControlDefinition, getDefaultValue, getDefaultViewControlDefinition, getDefinitionNode, getId, getMaximumValue, getMinimumValue, getName, getValueClass, isDisplay, isExternalData, isGetData, isIntroduction, isIntroductionImage, isKeywords, isParentId, isPrimaryName, isPublishStartDate, isReadOnly, isRequired, isRequiredWhenVisible, isSearchable, postAdd, postDelete, postUpdate, preAdd, preDelete, prepareValueForDataCloning, preUpdate
-
Methods inherited from interface lumis.doui.source.field.ITabularSourceField
isPosition, isPrimaryKey, isSortable
-
-
-
-
Field Detail
-
lookupQueryField
protected QueryField lookupQueryField
The lookup query field that is used for this field. It is expected that this attribute is set by thegetTableMapping(QueryBase)
method.- Since:
- 4.0.4
-
localizeResourceQueryField
protected QueryField localizeResourceQueryField
The localize resource field that is used for localizing the value of the field.- Since:
- 5.0.0
-
-
Method Detail
-
init
public void init(Source source, org.w3c.dom.Node fieldNode) throws PortalException
Description copied from interface:ISourceField
Initializes this source field. This method is called by the source after the field is created and before it is used. The implementation of this method must initialize all of this instance's attributes.- Specified by:
init
in interfaceISourceField
- Overrides:
init
in classBaseTabularSourceField
- Parameters:
source
- the source this field will belong to.fieldNode
- the xml node that contains this field's definition.- Throws:
PortalException
- if this field could not be initialized.
-
getTableMapping
public TableSourceFieldMapping getTableMapping(QueryBase queryBase) throws PortalException
Description copied from interface:ITableSourceField
Returns the table mapping for this field. This specifies how the field data is accessed.- Specified by:
getTableMapping
in interfaceITableSourceField
- Specified by:
getTableMapping
in classBaseTableSourceField
- Parameters:
queryBase
- the query the mapping will be used.- Returns:
- the field table mapping.
- Throws:
PortalException
-
getDisplayQueryField
public QueryField getDisplayQueryField(QueryBase queryBase) throws PortalException
Description copied from interface:ITableSourceField
Returns the query field to be used for display purposes for this field. This should be used only when it is needed at the query layer. Otherwise use the field's converter or the value render if it islumis.util.IRenderable
.- Parameters:
queryBase
- the query base the query field will be used in.- Returns:
- the query field.
- Throws:
PortalException
-
getQueryField
protected QueryField getQueryField(QueryBase queryBase, boolean useLookupField) throws PortalException
Returns the query field for this field.- Parameters:
queryBase
- the query base where the query field will be used.useLookupField
-- Returns:
- the query field for this field.
- Throws:
PortalException
- Since:
- 4.0.4
-
getQueryField
protected QueryField getQueryField(QueryBase queryBase) throws PortalException
Returns the main query field for this source field.- Parameters:
queryBase
- the query base where the query field will be used.- Returns:
- the query field.
- Throws:
PortalException
- Since:
- 4.0.4
-
convertToQueryFieldValue
protected java.lang.Object convertToQueryFieldValue(QueryField queryField, java.lang.Object value)
Convert the value to the value to be assigned to the given query field.- Parameters:
queryField
- the query field.value
- the original value.- Returns:
- the value converted.
- Since:
- 4.0.4
-
getQueryFilter
public IQueryFilter getQueryFilter(QueryBase queryBase, TableSourceFilter filter) throws PortalException
Description copied from interface:ITableSourceField
Returns a query filter for this field.- Specified by:
getQueryFilter
in interfaceITableSourceField
- Specified by:
getQueryFilter
in classBaseTableSourceField
- Parameters:
queryBase
- the query where the filter will be applied to.filter
- the filter definition.- Returns:
- the query filter.
- Throws:
PortalException
-
getQuerySortOrders
public java.util.List<QuerySortOrder> getQuerySortOrders(QueryBase queryBase, java.lang.String direction) throws PortalException
Description copied from interface:ITableSourceField
Returns a list of sort orders to be applied when it is to be ordered by this field.- Specified by:
getQuerySortOrders
in interfaceITableSourceField
- Specified by:
getQuerySortOrders
in classBaseTableSourceField
- Parameters:
queryBase
- the query where the sort orders will be applied to.direction
- the direction this field is to be sorted.- Returns:
- a list of sort orders, never null. May be an empty list if this field is not sortable.
- Throws:
PortalException
-
getDefaultInsertValue
protected java.lang.Object getDefaultInsertValue()
-
getQueryAssignments
public java.util.List<QueryAssignment> getQueryAssignments(QueryInsert queryInsert, IParameters parameters) throws PortalException
Description copied from interface:ITableSourceField
Returns a list of query assignments to be used in the given query insert.- Specified by:
getQueryAssignments
in interfaceITableSourceField
- Specified by:
getQueryAssignments
in classBaseTableSourceField
- Parameters:
queryInsert
- the query insert.parameters
- the parameters with the values to be used.- Returns:
- the list of query assignments, never null.
- Throws:
PortalException
-
getQueryAssignments
public java.util.List<QueryAssignment> getQueryAssignments(QueryUpdate queryUpdate, IParameters parameters) throws PortalException
Description copied from interface:ITableSourceField
Returns a list of query assignments to be used in the given query update.- Specified by:
getQueryAssignments
in interfaceITableSourceField
- Specified by:
getQueryAssignments
in classBaseTableSourceField
parameters
- the parameters with the values to be used.- Returns:
- the list of query assignments, never null.
- Throws:
PortalException
-
getAssignedValue
public java.lang.Object getAssignedValue(QueryBase queryBase) throws PortalException
Description copied from interface:ITableSourceField
Returns the value assigned as this field's value in the given query.- Specified by:
getAssignedValue
in interfaceITableSourceField
- Specified by:
getAssignedValue
in classBaseTableSourceField
- Parameters:
queryBase
- the query.- Returns:
- the value assigned as this field's value.
- Throws:
PortalException
-
convertRowToFieldData
public void convertRowToFieldData(ISourceData databaseRow, ISourceData sourceRow) throws PortalException
Description copied from class:BaseTabularSourceField
Converts a row read from the data provider to this source field type.This base implementation just copies the value in the database row relative to this field's id to the source row using the same id, converting it using
BaseSourceField.convertToFieldValueClass(Object, java.util.Locale, String)
.- Specified by:
convertRowToFieldData
in interfaceITabularSourceField
- Overrides:
convertRowToFieldData
in classBaseTabularSourceField
- Parameters:
databaseRow
- a row containing the original data.sourceRow
- the row to be populated with this field's data.- Throws:
PortalException
-
-