Class ColumnDef
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- net.sf.basedb.clients.web.taglib.StylableTag
-
- net.sf.basedb.clients.web.taglib.table.ColumnDef
-
- All Implemented Interfaces:
Serializable
,DynamicAttributes
,IterationTag
,JspTag
,Tag
,DynamicActionAttributes
public class ColumnDef extends StylableTag
This tag defines a column in the table. It should be placed directly after the<tbl:table>
tag.Syntax:
<tbl:columndef id=... clazz=... style=... property=... sortproperty=... filterproperty=... exportproperty=... datatype=int|long|float|double|string|date|boolean annotation=true|false enumeration=... smartenum=true|false title=... sortable=true|false filterable=true|false exportable=true|false show=always|never|auto tooltip=... formatter=... unit=... >
Tag attributes Attribute Default value Required Description id - yes The ID of the column. Should be unique among the columns in the table. Do not use all
as an ID since it is has a special meaning. The value of this attribute goes directly into the standard HTMLid
attribute. This means that if you need a reference to the table object in your own JavaScript code, you may for example use the following code:column = document.getElementById('<id>');
The ID is also used for cross-referencing between the different tags. For example,<tbl:data columns="...">
and<tbl:cell column="...">
.clazz columnheader no The value if this attribute goes directly into the standard HTML class
attribute. This allows you to apply different styles to different tables.style - no The value if this attribute goes directly into the standard HTML style
attribute. This allows you to apply different styles to different tables.property - no The name of the property on the item objects of this column. If the property isn't a property of the root item, prepend the value with a dollar sign ($) to indicate that the root alias should not be used when using this property in a query. sortproperty - no The name of the property to sort on when sorting on this column. If not specified, it takes the same value as the property
value.filterproperty - no The name of the property to filter on when filtering on this column. If not specified, it takes the same value as the property
value.exportproperty - no The name of the property to export on when exporting on this column. If not specified, it takes the same value as the property
value.title - no The title of the column. The value is displayed in the header row. sortable false no If the table can be sorted by this column or not. If a true value is specified the title will be linked to a function that resubmits the page with the new sort order information. filterable false no If the table can be filtered by this column or not. exportable no no If values in this column can be exported or not. show auto no Specify if this column should be visible or hidden. If the value is always
the column is always shown, if the value isnever
the column is never shown, if the value isauto
it is only shown if it appears in thecolumns
attribute of the<tbl:data>
tag.enumeration - no A Enumeration<String, String> object containing the possible values of this property. This is used to generate a selection list for the filter. smartenum false no If the filter for an enumeration column should be displayed as a free text field or a selection list. Default is to use a selection list. Use this option only if both the hidden key and the displayed value of the enumeration is the same. The "smartness" of this options is that as the user types text, the browser will dynamically display a list of options matching the entered text. multiple true no If it should be possible to select multiple options for an 'enumeration' or only a single option. The default value is true. formatter - no A Formatter
that formats the values in this column. If no formatter is specified the value is ouput as is. Values that should be formated must be specified in the<cell value="...">
attribute. Any tag content is outputted as entered.unit - no An options Unit
object that should be unit the values are stored with in the database. Setting this property enables filter expressions with units.This tag has no subtags.
- Version:
- 2.0
- Author:
- Nicklas
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
ColumnDef.NullIterator<A,B>
Iterator implementation that returns a single null value and nothing more.
-
Field Summary
Fields Modifier and Type Field Description private Enumeration<String,String>
enumeration
Options for enum.private boolean
exportable
If the column is exportable or notprivate String
exportProperty
Optional property used for exporting.private ExtensionsInvoker<ListColumnAction<?,?>>
extensions
private boolean
filterable
If the column is filterable or notprivate String
filterProperty
Optional property used for filtering.private Formatter<?>
formatter
private boolean
isAnnotation
If the property is an annotation or not.private JspContext
jspContext
private boolean
multiple
private String
property
The name of the property on the item class.private static long
serialVersionUID
private String
show
If the column should be visible or not.private boolean
smartEnum
private boolean
sortable
If the column is sortable or notprivate String
sortProperty
Optional property used for sorting.private Table
table
The parent <tbl:table> tag.private String
title
The title of the column.private String
tooltip
A tooltip with explaining text.private Unit
unit
private Type
valueType
The type of data in the property.-
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext
-
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
-
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
-
Constructor Summary
Constructors Constructor Description ColumnDef()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
appendPermissionOption(StringBuilder sb, Permission selected, Permission toAdd, String display)
org.json.simple.JSONObject
asJsonObject()
Get a JSON representation of this column definition.int
doStartTag()
String
getDatatype()
Enumeration<String,String>
getEnumeration()
String
getExportproperty()
String
getFilterproperty()
Formatter<?>
getFormatter()
protected String
getIdPrefix()
Optional prefix to include in the 'id' attribute.String
getProperty()
String
getShow()
String
getSortproperty()
String
getTitle()
String
getTooltip()
Unit
getUnit()
Type
getValueType()
boolean
isAnnotation()
boolean
isExportable()
boolean
isFilterable()
boolean
isSortable()
void
setAnnotation(boolean isAnnotation)
void
setDatatype(String dataType)
void
setEnumeration(Enumeration<String,String> enumeration)
void
setExportable(boolean exportable)
void
setExportproperty(String exportProperty)
<I> void
setExtensions(ExtensionsInvoker<ListColumnAction<I,?>> extensions)
void
setFilterable(boolean filterable)
void
setFilterproperty(String filterProperty)
void
setFormatter(Formatter<?> formatter)
void
setJspcontext(JspContext jspContext)
void
setMultiple(boolean multiple)
void
setProperty(String property)
void
setShow(String show)
void
setSmartenum(boolean smartEnum)
void
setSortable(boolean sortable)
void
setSortproperty(String sortProperty)
void
setTitle(String title)
void
setTooltip(String tooltip)
void
setUnit(Unit unit)
void
setValueType(Type valueType)
-
Methods inherited from class net.sf.basedb.clients.web.taglib.StylableTag
addDynamicAttributes, addIdAndStyles, getClazz, getDynamicActionAttributes, getDynamicAttribute, getFullClass, getStyle, getSubclass, initDefaultAttributes, setClazz, setDynamicAttribute, setMoreDynamicAttributes, setPageContext, setStyle, setSubclass
-
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setParent, setValue
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
table
private Table table
The parent <tbl:table> tag.
-
property
private String property
The name of the property on the item class.
-
isAnnotation
private boolean isAnnotation
If the property is an annotation or not.
-
sortProperty
private String sortProperty
Optional property used for sorting.
-
filterProperty
private String filterProperty
Optional property used for filtering.
-
exportProperty
private String exportProperty
Optional property used for exporting.
-
valueType
private Type valueType
The type of data in the property.
-
title
private String title
The title of the column.
-
show
private String show
If the column should be visible or not. Valid values are: always, never, auto
-
sortable
private boolean sortable
If the column is sortable or not
-
filterable
private boolean filterable
If the column is filterable or not
-
exportable
private boolean exportable
If the column is exportable or not
-
tooltip
private String tooltip
A tooltip with explaining text.
-
enumeration
private Enumeration<String,String> enumeration
Options for enum.
-
smartEnum
private boolean smartEnum
-
multiple
private boolean multiple
-
formatter
private transient Formatter<?> formatter
-
unit
private transient Unit unit
-
jspContext
private JspContext jspContext
-
extensions
private ExtensionsInvoker<ListColumnAction<?,?>> extensions
-
-
Method Detail
-
setProperty
public void setProperty(String property)
-
getProperty
public String getProperty()
-
setAnnotation
public void setAnnotation(boolean isAnnotation)
-
isAnnotation
public boolean isAnnotation()
-
setSortproperty
public void setSortproperty(String sortProperty)
-
getSortproperty
public String getSortproperty()
-
setFilterproperty
public void setFilterproperty(String filterProperty)
-
getFilterproperty
public String getFilterproperty()
-
setExportproperty
public void setExportproperty(String exportProperty)
-
getExportproperty
public String getExportproperty()
-
setDatatype
public void setDatatype(String dataType)
-
getDatatype
public String getDatatype()
-
setValueType
public void setValueType(Type valueType)
-
getValueType
public Type getValueType()
-
setTitle
public void setTitle(String title)
-
getTitle
public String getTitle()
-
setShow
public void setShow(String show)
-
getShow
public String getShow()
-
setSortable
public void setSortable(boolean sortable)
-
isSortable
public boolean isSortable()
-
setFilterable
public void setFilterable(boolean filterable)
-
isFilterable
public boolean isFilterable()
-
setExportable
public void setExportable(boolean exportable)
-
isExportable
public boolean isExportable()
-
setTooltip
public void setTooltip(String tooltip)
-
getTooltip
public String getTooltip()
-
setEnumeration
public void setEnumeration(Enumeration<String,String> enumeration)
-
getEnumeration
public Enumeration<String,String> getEnumeration()
-
setMultiple
public void setMultiple(boolean multiple)
- Since:
- 2.8
-
setSmartenum
public void setSmartenum(boolean smartEnum)
- Since:
- 2.7
-
setFormatter
public void setFormatter(Formatter<?> formatter)
-
getFormatter
public Formatter<?> getFormatter()
-
setUnit
public void setUnit(Unit unit)
- Since:
- 2.9
-
getUnit
public Unit getUnit()
- Since:
- 2.9
-
setJspcontext
public void setJspcontext(JspContext jspContext)
- Since:
- 3.2
-
setExtensions
public <I> void setExtensions(ExtensionsInvoker<ListColumnAction<I,?>> extensions)
- Since:
- 3.2
-
getIdPrefix
protected String getIdPrefix()
Description copied from class:StylableTag
Optional prefix to include in the 'id' attribute. SeeStylableTag.addIdAndStyles(StringBuilder, String...)
.- Overrides:
getIdPrefix
in classStylableTag
- Returns:
- The default implementation return an empty string
-
asJsonObject
public org.json.simple.JSONObject asJsonObject()
Get a JSON representation of this column definition.- Since:
- 3.3
-
doStartTag
public int doStartTag() throws JspException
- Specified by:
doStartTag
in interfaceTag
- Overrides:
doStartTag
in classTagSupport
- Throws:
JspException
-
appendPermissionOption
private void appendPermissionOption(StringBuilder sb, Permission selected, Permission toAdd, String display)
-
-