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

📄 entitylistiterator.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            throw new GeneralRuntimeException("Error while checking to see if this is the last result", e);        }    }    /** PLEASE NOTE: Because of the nature of the JDBC ResultSet interface this method can be very inefficient; it is much better to just use previous() until it returns null */    public boolean hasPrevious() {        try {            if (resultSet.isFirst() || resultSet.isBeforeFirst()) {                return false;            } else {                // do a quick game to see if the resultSet is empty:                // if we are not in the last or afterLast positions and we haven't made any values yet, the result set is empty so return false                if (!haveMadeValue && !resultSet.isAfterLast() && !resultSet.isLast()) {                    return false;                } else {                    return true;                }            }        } catch (SQLException e) {            if (!closed) {                try {                    this.close();                } catch (GenericEntityException e1) {                    Debug.logError(e1, "Error auto-closing EntityListIterator on error, so info below for more info on original error; close error: " + e1.toString(), module);                }                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException("Error while checking to see if this is the first result", e);        }    }    /** Moves the cursor to the next position and returns the GenericValue object for that position; if there is no next, returns null     * For example, you could use the following to iterate through the results in an EntityListIterator:     *      *      GenericValue nextValue = null;     *      while ((nextValue = (GenericValue) this.next()) != null) { ... }     *      */    public Object next() {        try {            if (resultSet.next()) {                return currentGenericValue();            } else {                return null;            }        } catch (SQLException e) {            if (!closed) {                try {                    this.close();                } catch (GenericEntityException e1) {                    Debug.logError(e1, "Error auto-closing EntityListIterator on error, so info below for more info on original error; close error: " + e1.toString(), module);                }                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException("Error getting the next result", e);        } catch (GenericEntityException e) {            if (!closed) {                try {                    this.close();                } catch (GenericEntityException e1) {                    Debug.logError(e1, "Error auto-closing EntityListIterator on error, so info below for more info on original error; close error: " + e1.toString(), module);                }                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException("Error creating GenericValue", e);        }    }    /** Returns the index of the next result, but does not guarantee that there will be a next result */    public int nextIndex() {        try {            return currentIndex() + 1;        } catch (GenericEntityException e) {            if (!closed) {                try {                    this.close();                } catch (GenericEntityException e1) {                    Debug.logError(e1, "Error auto-closing EntityListIterator on error, so info below for more info on original error; close error: " + e1.toString(), module);                }                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException(e.getNonNestedMessage(), e.getNested());        }    }    /** Moves the cursor to the previous position and returns the GenericValue object for that position; if there is no previous, returns null */    public Object previous() {        try {            if (resultSet.previous()) {                return currentGenericValue();            } else {                return null;            }        } catch (SQLException e) {            if (!closed) {                try {                    this.close();                } catch (GenericEntityException e1) {                    Debug.logError(e1, "Error auto-closing EntityListIterator on error, so info below for more info on original error; close error: " + e1.toString(), module);                }                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException("Error getting the previous result", e);        } catch (GenericEntityException e) {            if (!closed) {                try {                    this.close();                } catch (GenericEntityException e1) {                    Debug.logError(e1, "Error auto-closing EntityListIterator on error, so info below for more info on original error; close error: " + e1.toString(), module);                }                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException("Error creating GenericValue", e);        }    }    /** Returns the index of the previous result, but does not guarantee that there will be a previous result */    public int previousIndex() {        try {            return currentIndex() - 1;        } catch (GenericEntityException e) {            if (!closed) {                try {                    this.close();                } catch (GenericEntityException e1) {                    Debug.logError(e1, "Error auto-closing EntityListIterator on error, so info below for more info on original error; close error: " + e1.toString(), module);                }                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException("Error getting the current index", e);        }    }    public void setFetchSize(int rows) throws GenericEntityException {        try {            resultSet.setFetchSize(rows);        } catch (SQLException e) {            if (!closed) {                this.close();                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GenericEntityException("Error getting the next result", e);        }    }    public List getCompleteList() throws GenericEntityException {        try {            // if the resultSet has been moved forward at all, move back to the beginning            if (haveMadeValue && !resultSet.isBeforeFirst()) {                // do a quick check to see if the ResultSet is empty                resultSet.beforeFirst();            }            List list = FastList.newInstance();            Object nextValue = null;            while ((nextValue = this.next()) != null) {                list.add(nextValue);            }            return list;        } catch (SQLException e) {            if (!closed) {                this.close();                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException("Error getting results", e);        } catch (GeneralRuntimeException e) {            if (!closed) {                this.close();                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GenericEntityException(e.getNonNestedMessage(), e.getNested());        }    }    /** Gets a partial list of results starting at start and containing at most number elements.     * Start is a one based value, ie 1 is the first element.     */    public List getPartialList(int start, int number) throws GenericEntityException {        try {            if (number == 0) return FastList.newInstance();            List list = FastList.newInstance();                        // just in case the caller missed the 1 based thingy            if (start == 0) start = 1;            // if starting on result 1 just call next() to avoid scrollable issues in some databases            if (start == 1) {                if (!resultSet.next()) {                    return list;                }            } else {                // if can't reposition to desired index, throw exception                if (!resultSet.absolute(start)) {                    // maybe better to just return an empty list here...                    return list;                    //throw new GenericEntityException("Could not move to the start position of " + start + ", there are probably not that many results for this find.");                }            }            // get the first as the current one            list.add(this.currentGenericValue());            Object nextValue = null;            // init numRetreived to one since we have already grabbed the initial one            int numRetreived = 1;            //number > numRetreived comparison goes first to avoid the unwanted call to next            while (number > numRetreived && (nextValue = this.next()) != null) {                list.add(nextValue);                numRetreived++;            }            return list;        } catch (SQLException e) {            if (!closed) {                this.close();                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GeneralRuntimeException("Error getting results", e);        } catch (GeneralRuntimeException e) {            if (!closed) {                this.close();                Debug.logWarning("Warning: auto-closed EntityListIterator because of exception: " + e.toString(), module);            }            throw new GenericEntityException(e.getNonNestedMessage(), e.getNested());        }    }    public void add(Object obj) {        throw new GeneralRuntimeException("CursorListIterator currently only supports read-only access");    }    public void remove() {        throw new GeneralRuntimeException("CursorListIterator currently only supports read-only access");    }    public void set(Object obj) {        throw new GeneralRuntimeException("CursorListIterator currently only supports read-only access");    }    protected void finalize() throws Throwable {        try {            if (!closed) {                this.close();                Debug.logError("\n====================================================================\n EntityListIterator Not Closed for Entity [" + (modelEntity==null ? "" : modelEntity.getEntityName()) + "], caught in Finalize\n ====================================================================\n", module);            }        } catch (Exception e) {            Debug.logError(e, "Error closing the SQLProcessor in finalize EntityListIterator", module);        }        super.finalize();    }}

⌨️ 快捷键说明

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