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

📄 ex8_10.txt

📁 j2ee core design patterns
💻 TXT
字号:
Example 8.10  RowSetWrapperList.java
package com.corej2eepatterns.to.list;

// imports 

// Read only implementation of the List interface. 
// It supports iterators and absolute positioning.

public class RowSetWrapperList 
implements List, Serializable {

	// variable to hold a RowSet instance
	private RowSet rowSet;


	public RowSetWrapperList(RowSet rowSet) {
		this.rowSet = rowSet;
		. . .
	}
 
	// return the current row as a transfer object
	public Object get(int index) {
		try {
			rowSet.absolute(index);
		} catch (SQLException anException) {
			// handle exception
		}
		// create a new transfer object and return
		return
				TORowMapper.createCustomerTO(this);
	}
	. . .

	// Returns a Sub List of the current list.
	public List subList(int fromIndex, int toIndex) {
		// Create a new RowSet with the required rows
		ReadOnlyRowSet roRowSet = new ReadOnlyRowSet();
		roRowSet.populate(this.rowSet, fromIndex, toIndex);

		// Create a new RowSetWrapperList instance and
		// return it
		return
				new RowSetWrapperList(roRowSet);
	}

	// Returns an iterator over the elements in this list in 
	// proper sequence. It is possible to define multiple 
	// independent iterators for the same RowSetWrapperList
	// object.

	public Iterator iterator() {
		try {
			rowSet.beforeFirst();
		} catch (SQLException anException) {
			System.out.println(
					"Error moving RowSet before first row." + 
					anException);
		}

		return this.listIterator();
	}

	// Create a List Iterator that can iterate over the
	// rowset 
	public ListIterator listIterator() {
		// ListResultIterator is implemented as an inner class 
		return new DataRowListIterator();
	}

	// implement the List interface methods

	. . .

}

⌨️ 快捷键说明

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