org.objectweb.jac.aspects.gui.web
Class Table

java.lang.Object
  extended byorg.objectweb.jac.aspects.gui.web.AbstractView
      extended byorg.objectweb.jac.aspects.gui.web.AbstractCollection
          extended byorg.objectweb.jac.aspects.gui.web.Table
All Implemented Interfaces:
CollectionListener, CollectionView, FieldView, HTMLViewer, TableListener, View, ViewIdentity

public class Table
extends AbstractCollection
implements HTMLViewer, TableListener


Field Summary
protected  boolean viewOnDoubleClick
           
 
Fields inherited from class org.objectweb.jac.aspects.gui.web.AbstractCollection
autoUpdate, collection, filter, isEditor, itemView, model, rowsPerPageChooser, sorter, substance, viewableItems
 
Fields inherited from class org.objectweb.jac.aspects.gui.web.AbstractView
column, context, description, height, isCellViewer, label, parentView, row, table, width
 
Constructor Summary
Table(ViewFactory factory, DisplayContext context, CollectionItem collection, Object substance, ExtendedTableModel model, CollectionItemView itemView)
           
 
Method Summary
protected  void clearCellEditors(boolean validate)
          Removes editors of embedded added object
protected  void clearDefaultEditors()
          Removes editors of embedded added object
protected  void clearEmbeddedEditors(boolean validate)
          Removes editors of embedded added object
protected  void clearFilterEditors()
          Removes editors of embedded added object
 void close(boolean validate)
          Close this view.
protected  void genCell(PrintWriter out, int index, int col, Object substance, MemberItem member, Object value, String rowspan)
           
protected  void genColumnFilters(PrintWriter out)
           
 void genHTML(PrintWriter out)
          Generate the HTML code for the editor.
protected  void genRemoveCell(PrintWriter out, int index, String rowspan)
           
protected  void genRow(PrintWriter out, int index, Object substance, MemberItem[] members)
           
protected  void genViewCell(PrintWriter out, int index, String rowspan)
           
protected  HTMLViewer getFieldEditor(FieldItem field, Object substance)
          Returns a cell editor for a field of an object.
protected  void init()
          Initialization to be performed before sort()
protected  void initAddedObject(Object addedObject, Object defaultsObject)
          Initialize fields of added object from one of defaultsObject
 void onCellSelection(int row, int col)
          Called when a cell is selected.
 void onEmbeddedAddToCollection()
           
 void onHeaderClick(int column)
          Called when a column header is "clicked".
 void onRefreshCollection()
          Call when a parameter of the view has changed and the view should be refresh to take it into account.
 View onRowEvent(int row, int col)
           
 void onSetDefaults()
           
protected  void openRow(PrintWriter out, int index, boolean even)
          Print opening tag for a row
protected  void openTBody(PrintWriter out)
          Print opening TBODY tag containg rows
protected  void setCellRenderers()
           
 void setColumnsInfo(String[] headers, FieldItem[] fields, ClassItem[] classes, ClassItem[] viewerClasses)
           
protected  boolean showRefreshButton()
          Tells whether a refesh button must be shown
 void sort()
          Sorts the collection with the column index stored in the context if any.
 void sort(int column)
          Sorts the collection.
 
Methods inherited from class org.objectweb.jac.aspects.gui.web.AbstractCollection
checkRange, genHeader, genHeader, getCollectionModel, getField, getObject, getSubstance, isEditor, isEnabled, onAddExistingToCollection, onAddToCollection, onFirst, onLast, onNext, onPrevious, onRemove, onRemoveFromCollection, onTableInvoke, onView, onView, onViewObject, removeLink, setAutoUpdate, setEditor, setEnabled, setField, setRowsPerPage, setSelected, setSubstance, setValue, sortLink, updateModel, viewLink
 
Methods inherited from class org.objectweb.jac.aspects.gui.web.AbstractView
closeForm, equalsView, equalsView, eventURL, eventURL, genBody, genEventAndActionButton, genPage, genStyleSheets, getBaseURL, getCloseBorder, getContext, getDescription, getFactory, getId, getId, getLabel, getMessage, getOpenBorder, getParameters, getParentView, getRootView, getStyle, getType, getViewBorder, iconElement, iconElement, isClosed, isDescendantOf, isInForm, openForm, printAttributes, setAttribute, setColumn, setContext, setDescription, setFactory, setFocus, setLabel, setMessage, setParameters, setParentView, setRow, setSize, setStyle, setStyleSheet, setTable, setType, setViewBorder, showButton, showFormButtons, showFormButtons
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.jac.aspects.gui.web.HTMLViewer
setStyleSheet
 
Methods inherited from interface org.objectweb.jac.aspects.gui.web.CollectionListener
onAddExistingToCollection, onAddToCollection, onFirst, onLast, onNext, onPrevious, onRemove, onRemoveFromCollection, onTableInvoke, onView, onViewObject
 
Methods inherited from interface org.objectweb.jac.aspects.gui.View
getContext, getDescription, getFactory, getLabel, getMessage, getParentView, getRootView, getStyle, getViewBorder, isClosed, isDescendantOf, setContext, setDescription, setFactory, setFocus, setLabel, setMessage, setParentView, setSize, setStyle, setViewBorder
 
Methods inherited from interface org.objectweb.jac.aspects.gui.ViewIdentity
equalsView, equalsView, getParameters, getType, setParameters, setType
 

Field Detail

viewOnDoubleClick

protected boolean viewOnDoubleClick
Constructor Detail

Table

public Table(ViewFactory factory,
             DisplayContext context,
             CollectionItem collection,
             Object substance,
             ExtendedTableModel model,
             CollectionItemView itemView)
Method Detail

setColumnsInfo

public void setColumnsInfo(String[] headers,
                           FieldItem[] fields,
                           ClassItem[] classes,
                           ClassItem[] viewerClasses)

setCellRenderers

protected void setCellRenderers()

sort

public void sort()
Description copied from class: AbstractCollection
Sorts the collection with the column index stored in the context if any.

Specified by:
sort in class AbstractCollection

showRefreshButton

protected boolean showRefreshButton()
Description copied from class: AbstractCollection
Tells whether a refesh button must be shown

Overrides:
showRefreshButton in class AbstractCollection

onRefreshCollection

public void onRefreshCollection()
Description copied from interface: CollectionListener
Call when a parameter of the view has changed and the view should be refresh to take it into account.

Specified by:
onRefreshCollection in interface CollectionListener
Overrides:
onRefreshCollection in class AbstractCollection

init

protected void init()
Description copied from class: AbstractCollection
Initialization to be performed before sort()

Overrides:
init in class AbstractCollection

clearFilterEditors

protected void clearFilterEditors()
Removes editors of embedded added object


sort

public void sort(int column)
Sorts the collection.

Parameters:
column - the index of the column used to sort

genHTML

public void genHTML(PrintWriter out)
             throws IOException
Description copied from interface: HTMLViewer
Generate the HTML code for the editor.

Specified by:
genHTML in interface HTMLViewer
Parameters:
out - the writer where to write the HTML code.
Throws:
IOException

genRow

protected void genRow(PrintWriter out,
                      int index,
                      Object substance,
                      MemberItem[] members)

genCell

protected void genCell(PrintWriter out,
                       int index,
                       int col,
                       Object substance,
                       MemberItem member,
                       Object value,
                       String rowspan)

genColumnFilters

protected void genColumnFilters(PrintWriter out)
                         throws IOException
Throws:
IOException

genViewCell

protected void genViewCell(PrintWriter out,
                           int index,
                           String rowspan)

genRemoveCell

protected void genRemoveCell(PrintWriter out,
                             int index,
                             String rowspan)

openRow

protected void openRow(PrintWriter out,
                       int index,
                       boolean even)
Print opening tag for a row

Parameters:
out - where to wrte the HTML code
index - index of the row to open
even - wether the should have the "even" or "odd" class

openTBody

protected void openTBody(PrintWriter out)
Print opening TBODY tag containg rows

Parameters:
out -

getFieldEditor

protected HTMLViewer getFieldEditor(FieldItem field,
                                    Object substance)
Returns a cell editor for a field of an object. Editors are cached, so you'll always get the same object for the same field and substance, unless clearCellEditors(boolean) is called.

Parameters:
field - field to get an editor for
substance - object holding the field
See Also:
clearCellEditors(boolean)

clearEmbeddedEditors

protected void clearEmbeddedEditors(boolean validate)
Removes editors of embedded added object


clearDefaultEditors

protected void clearDefaultEditors()
Removes editors of embedded added object


clearCellEditors

protected void clearCellEditors(boolean validate)
Removes editors of embedded added object


close

public void close(boolean validate)
Description copied from interface: View
Close this view. This should be upcalled when the view is closed in order to free resources or close other dependant views.

Specified by:
close in interface View
Overrides:
close in class AbstractView

initAddedObject

protected void initAddedObject(Object addedObject,
                               Object defaultsObject)
Initialize fields of added object from one of defaultsObject


onCellSelection

public void onCellSelection(int row,
                            int col)
Description copied from interface: TableListener
Called when a cell is selected.

Specified by:
onCellSelection in interface TableListener
Parameters:
row - row index of the selected cell
col - column index of the selected cell

onEmbeddedAddToCollection

public void onEmbeddedAddToCollection()
Specified by:
onEmbeddedAddToCollection in interface TableListener

onSetDefaults

public void onSetDefaults()
Specified by:
onSetDefaults in interface TableListener

onHeaderClick

public void onHeaderClick(int column)
Description copied from interface: TableListener
Called when a column header is "clicked".

Specified by:
onHeaderClick in interface TableListener
Parameters:
column - column index of the selected header

onRowEvent

public View onRowEvent(int row,
                       int col)
Specified by:
onRowEvent in interface TableListener