⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortablelist.java

📁 jsf在线考试系统的实例
💻 JAVA
字号:
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.jlobo.web.beans;

import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;

import org.apache.myfaces.custom.datascroller.ScrollerActionEvent;

/**
 * Convenient base class for sortable lists.
 * 
 * @author Thomas Spiegl (latest modification by $Author: lzket $)
 * @version $Revision: 1.1 $ $Date: 2006-11-08 20:46:34 +0100 (Mi, 08 Nov
 *          2006) $
 */
public abstract class SortableList {
	private String _sort;

	private boolean _ascending;

	private Long _selectedRowIndex;

	private Long newRows = 0L;

	public String getSelectionMessage() {
		if (getSelectedRowIndex() == null) {
			return "当前无选中行!";
		} else {
			return "当前选中行:第" + (_selectedRowIndex + 1) + "行!";
		}
	}

	public void scrollerAction(ActionEvent event) {
		ScrollerActionEvent scrollerEvent = (ScrollerActionEvent) event;
		FacesContext.getCurrentInstance().getExternalContext().log(
				"翻页动作: 渲染: " + scrollerEvent.getScrollerfacet() + ", 页号: "
						+ scrollerEvent.getPageIndex());
	}

	public void processRowSelection(ValueChangeEvent event) {
		Long newVal = (Long) event.getNewValue();
	}

	protected SortableList(String defaultSortColumn) {
		_sort = defaultSortColumn;
		_ascending = isDefaultAscending(defaultSortColumn);
	}

	/**
	 * Sort the list.
	 */
	protected abstract void sort(String column, boolean ascending);

	/**
	 * Is the default sort direction for the given column "ascending" ?
	 */
	protected abstract boolean isDefaultAscending(String sortColumn);

	public void sort(String sortColumn) {
		if (sortColumn == null) {
			throw new IllegalArgumentException(
					"Argument sortColumn must not be null.");
		}

		if (_sort.equals(sortColumn)) {
			// current sort equals new sortColumn -> reverse sort order
			_ascending = !_ascending;
		} else {
			// sort new column in default direction
			_sort = sortColumn;
			_ascending = isDefaultAscending(_sort);
		}

		sort(_sort, _ascending);
	}

	public String getSort() {
		return _sort;
	}

	public void setSort(String sort) {
		_sort = sort;
	}

	public boolean isAscending() {
		return _ascending;
	}

	public void setAscending(boolean ascending) {
		_ascending = ascending;
	}

	public Long getSelectedRowIndex() {
		return _selectedRowIndex;
	}

	public void setSelectedRowIndex(Long rowIndex) {
		_selectedRowIndex = rowIndex;
	}

	public Long getNewRows() {
		return newRows;
	}

	public void setNewRows(Long newRows) {
		this.newRows = newRows;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -