RowDataStatic.java
资源名称:bookshop.zip [点击查看]
上传用户:sxlinghang
上传日期:2022-07-20
资源大小:1405k
文件大小:5k
源码类别:
数据库编程
开发平台:
Java
- /*
- Copyright (C) 2002 MySQL AB
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
- package com.mysql.jdbc;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * Represents an in-memory result set
- *
- * @author dgan
- * @version $Id: RowDataStatic.java,v 1.10.2.3 2003/10/03 16:29:44 mmatthew Exp $
- */
- public class RowDataStatic implements RowData {
- private List rows;
- private int index;
- private ResultSet owner;
- /**
- * Creates a new RowDataStatic object.
- *
- * @param rows DOCUMENT ME!
- */
- public RowDataStatic(ArrayList rows) {
- this.index = -1;
- this.rows = rows;
- }
- /**
- * Returns true if we got the last element.
- * @return DOCUMENT ME!
- */
- public boolean isAfterLast() {
- return this.index >= rows.size();
- }
- /**
- * DOCUMENT ME!
- *
- * @param atIndex DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public byte[][] getAt(int atIndex) {
- if ((atIndex < 0) || (atIndex >= rows.size())) {
- return null;
- } else {
- return (byte[][]) rows.get(atIndex);
- }
- }
- /**
- * Returns if iteration has not occured yet.
- * @return DOCUMENT ME!
- */
- public boolean isBeforeFirst() {
- return (this.index == -1) && (this.rows.size() != 0);
- }
- /**
- * DOCUMENT ME!
- *
- * @param newIndex DOCUMENT ME!
- */
- public void setCurrentRow(int newIndex) {
- this.index = newIndex;
- }
- /**
- * @see com.mysql.jdbc.RowData#setOwner(com.mysql.jdbc.ResultSet)
- */
- public void setOwner(ResultSet rs) {
- this.owner = rs;
- }
- /**
- * @see com.mysql.jdbc.RowData#getOwner()
- */
- public ResultSet getOwner() {
- return this.owner;
- }
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public int getCurrentRowNumber() {
- return this.index;
- }
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public boolean isDynamic() {
- return false;
- }
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public boolean isEmpty() {
- return rows.size() == 0;
- }
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public boolean isFirst() {
- return this.index == 0;
- }
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public boolean isLast() {
- //
- // You can never be on the 'last' row of
- // an empty result set
- //
- if (rows.size() == 0) {
- return false;
- }
- return (this.index == (rows.size() - 1));
- }
- /**
- * DOCUMENT ME!
- *
- * @param row DOCUMENT ME!
- */
- public void addRow(byte[][] row) {
- rows.add(row);
- }
- /**
- * Moves to after last.
- */
- public void afterLast() {
- this.index = rows.size();
- }
- /**
- * Moves to before first.
- */
- public void beforeFirst() {
- this.index = -1;
- }
- /**
- * DOCUMENT ME!
- */
- public void beforeLast() {
- this.index = rows.size() - 2;
- }
- /**
- * DOCUMENT ME!
- */
- public void close() {
- }
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public boolean hasNext() {
- boolean hasMore = (this.index + 1) < rows.size();
- return hasMore;
- }
- /**
- * DOCUMENT ME!
- *
- * @param rows DOCUMENT ME!
- */
- public void moveRowRelative(int rows) {
- this.index += rows;
- }
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public byte[][] next() {
- this.index++;
- if (this.index < rows.size()) {
- return (byte[][]) rows.get(this.index);
- } else {
- return null;
- }
- }
- /**
- * DOCUMENT ME!
- *
- * @param atIndex DOCUMENT ME!
- */
- public void removeRow(int atIndex) {
- rows.remove(atIndex);
- }
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public int size() {
- return rows.size();
- }
- }