001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.wicket.extensions.markup.html.repeater.data.table.filter; 018 019import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; 020import org.apache.wicket.model.IModel; 021import org.apache.wicket.model.PropertyModel; 022 023 024/** 025 * Like {@link PropertyColumn} but with support for filters. 026 * 027 * @see PropertyColumn 028 * @see IFilteredColumn 029 * 030 * @author Igor Vaynberg (ivaynberg) 031 * @param <T> 032 * @param <S> 033 * the type of the sort property 034 * 035 */ 036public abstract class FilteredPropertyColumn<T, S> extends PropertyColumn<T, S> 037 implements 038 IFilteredColumn<T, S> 039{ 040 private static final long serialVersionUID = 1L; 041 042 /** 043 * Constructor 044 * 045 * @param displayModel 046 * model used to construct header text 047 * @param sortProperty 048 * sort property this column represents, if null this column will not be sortable 049 * @param propertyExpression 050 * wicket property expression for the column, see {@link PropertyModel} for details 051 */ 052 public FilteredPropertyColumn(final IModel<String> displayModel, final S sortProperty, 053 final String propertyExpression) 054 { 055 super(displayModel, sortProperty, propertyExpression); 056 } 057 058 /** 059 * @param displayModel 060 * model used to construct header text 061 * @param propertyExpression 062 * wicket property expression for the column, see {@link PropertyModel} for details 063 */ 064 public FilteredPropertyColumn(final IModel<String> displayModel, final String propertyExpression) 065 { 066 super(displayModel, propertyExpression); 067 } 068 069}