/*
* Copyright 2009 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.gen2.table.client.property;
/**
* A {@link ColumnProperty} that provides information about the headers above a
* column. The row indexes start from the bottom of the header, such that all
* headers at the 0th index refer to the row directly above the data table.
*/
public class HeaderProperty extends HeaderPropertyBase {
/**
* Property type.
*/
public static final Type<HeaderProperty> TYPE = new Type<HeaderProperty>() {
private HeaderProperty instance;
@Override
public HeaderProperty getDefault() {
if (instance == null) {
instance = new HeaderProperty();
}
return instance;
}
};
/**
* Get the header at the given row index.
*
* @param row the row index from the bottom.
* @return the header for the given row
*/
@Override
public Object getHeader(int row) {
return super.getHeader(row);
}
/**
* Get the header at the given row and column index. Override this method if
* your header includes dynamic content that depends on the column index.
*
* @param row the row index from the bottom
* @param column the column index at runtime
* @return the header for the given row
*/
@Override
public Object getHeader(int row, int column) {
return getHeader(row);
}
/**
* @return get the number of headers above the column
*/
@Override
public int getHeaderCount() {
return super.getHeaderCount();
}
/**
* Remove the header above this column for the specified row.
*
* @param row the row index from the bottom
*/
@Override
public void removeHeader(int row) {
super.removeHeader(row);
}
/**
* Set the header above this column. The row index starts with the bottom row,
* which is reverse of a normal table. The headerCount will automatically be
* increased to accommodate the row.
*
* @param row the row index from the bottom
* @param header the header
*/
@Override
public void setHeader(int row, Object header) {
super.setHeader(row, header);
}
/**
* Set the number of headers above the column.
*
* @param headerCount the number of headers
*/
@Override
public void setHeaderCount(int headerCount) {
super.setHeaderCount(headerCount);
}
}