org.ujorm.wicket.component.grid
Class UjoDataProvider<U extends OrmUjo>

java.lang.Object
  extended by org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider<U,Object>
      extended by org.ujorm.wicket.component.grid.AbstractDataProvider<U>
          extended by org.ujorm.wicket.component.grid.OrmDataProvider<U>
              extended by org.ujorm.wicket.component.grid.UjoDataProvider<U>
All Implemented Interfaces:
Serializable, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator<Object>, org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider<U,Object>, org.apache.wicket.markup.repeater.data.IDataProvider<U>, org.apache.wicket.model.IDetachable, org.apache.wicket.util.io.IClusterable

Deprecated. Use the class OrmDataProvider rather.

@Deprecated
public class UjoDataProvider<U extends OrmUjo>
extends OrmDataProvider<U>

This class called OrmDataProvider is an ORM based Wicket DataProvider. For a customization you can use a your own IColumn implementations or you can overwrite selected methods of this provider.

The implementation generates two database requests per a one rendering, the first one get size and the second one get paged data. You can overwrite the two data methods: iterator() and the size() for more optimization.

The current class uses a WicketApplication implementation, which must implement the interface OrmHandlerProvider for an ORM support. See the example:

See the simple sample:

 Criterion<Hotel> allActiveHotels = Hotel.ACTIVE.whereEq(true);
  UjoDataProvider<Hotel> dataProvider = UjoDataProvider.of(allActiveHotels);

  dataProvider.addColumn(Hotel.NAME);
  dataProvider.addColumn(Hotel.CITY.add(City.NAME)); // An example of relations
  dataProvider.addColumn(Hotel.STREET);
  dataProvider.addColumn(Hotel.PRICE);
  dataProvider.addColumn(KeyColumn.of(Hotel.CURRENCY, SORTING_OFF));
  dataProvider.addColumn(Hotel.STARS);
  dataProvider.addColumn(Hotel.PHONE);
  dataProvider.setSort(Hotel.NAME);

  panel.add(dataProvider.createDataTable("datatable", 10));
 
 

Author:
Pavel Ponec
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.ujorm.wicket.component.grid.AbstractDataProvider
DEFAULT_CSS_ACTION, DEFAULT_CSS_SELECTED, DEFAULT_DATATABLE_ID, filter, selected, size
 
Constructor Summary
UjoDataProvider(org.apache.wicket.model.IModel<org.ujorm.criterion.Criterion<U>> criterion)
          Deprecated.  
UjoDataProvider(org.apache.wicket.model.IModel<org.ujorm.criterion.Criterion<U>> criterion, Key<? super U,?> defaultSort)
          Deprecated.  
 
Method Summary
 
Methods inherited from class org.ujorm.wicket.component.grid.OrmDataProvider
addHidden, createQuery, detach, fetchDatabaseColumns, getHiddenColumns, getOrmSession, isFetchDatabaseColumns, isSortingEnabled, iterator, of, of, of, of, setFetchDatabaseColumns, size, sortDatabaseQuery
 
Methods inherited from class org.ujorm.wicket.component.grid.AbstractDataProvider
add, add, add, add, add, add, createBottomToolbars, createDataTable, createDataTable, createDataTable, createDataTable, createTopToolbars, deleteRow, getColumns, getCssSelected, getDomainClass, getSelected, getSortKey, insertRow, isDefaultColumnSorting, model, setCssClass, setDefaultColumnSorting, setSelected, setSelected, setSort, updateRow
 
Methods inherited from class org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider
getSort, getSortState, setSort, setSort
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UjoDataProvider

public UjoDataProvider(org.apache.wicket.model.IModel<org.ujorm.criterion.Criterion<U>> criterion)
Deprecated. 

UjoDataProvider

public UjoDataProvider(org.apache.wicket.model.IModel<org.ujorm.criterion.Criterion<U>> criterion,
                       Key<? super U,?> defaultSort)
Deprecated. 


Copyright © 2014. All Rights Reserved.