001: /*
002: * Copyright (C) 1999-2004 <A href="http://www-ist.massey.ac.nz/JBDietrich" target="_top">Jens Dietrich</a>
003: *
004: * This library is free software; you can redistribute it and/or
005: * modify it under the terms of the GNU Lesser General Public
006: * License as published by the Free Software Foundation; either
007: * version 2 of the License, or (at your option) any later version.
008: *
009: * This library is distributed in the hope that it will be useful,
010: * but WITHOUT ANY WARRANTY; without even the implied warranty of
011: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012: * Lesser General Public License for more details.
013: *
014: * You should have received a copy of the GNU Lesser General Public
015: * License along with this library; if not, write to the Free Software
016: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
017: */
018: package org.mandarax.util;
019:
020: import org.mandarax.kernel.ClauseSetException;
021:
022: /**
023: * Iterator for clauses.
024: * In this abstract class compatiblity methods with <code>java.util.Enumeration</code>
025: * and <code>java.util.Iterator</code> were defined. Since the ClauseIterator method throw now
026: * an ClauseSetException, this compatibility is not longer maintained!
027: * The respective methods from Iterator and Enumeration are marked as depreceted and should not be marked.
028: * For compatibility, we keep this class alive and implement this methods.
029: * @author <A href="http://www-ist.massey.ac.nz/JBDietrich" target="_top">Jens Dietrich</A>
030: * @version 3.4 <7 March 05>
031: * @since 1.0
032: */
033: public abstract class AbstractClauseIterator implements ClauseIterator {
034:
035: /**
036: * Constructor.
037: */
038: protected AbstractClauseIterator() {
039: super ();
040: }
041:
042: /**
043: * Indicates whether there are more elements.
044: * Duplicates the functionality of <code>hasMoreClauses()</code> in order to implement
045: * the <code>java.util.Enumeration</code> interface.
046: * @return true if there are more clauses, false otherwise
047: * @deprecated read class comment for details
048: */
049: public boolean hasMoreElements() {
050: try {
051: return hasMoreClauses();
052: } catch (ClauseSetException x) {
053: return false;
054: }
055: }
056:
057: /**
058: * Indicates whether there are more elements.
059: * Duplicates the functionality of <code>hasMoreClauses()</code> in order to implement
060: * the <code>java.util.Iterator</code> interface.
061: * @return true if there are more clauses, false otherwise
062: * @deprecated read class comment for details
063: */
064: public boolean hasNext() {
065: try {
066: return hasMoreClauses();
067: } catch (ClauseSetException x) {
068: return false;
069: }
070: }
071:
072: /**
073: * Get the next element.
074: * Duplicates the functionality of <code>nextClause()</code> in order to implement
075: * the <code>java.util.Iterator</code> interface.
076: * @return the next clause
077: * @deprecated read class comment for details
078: */
079: public Object next() {
080: try {
081: return nextClause();
082: } catch (ClauseSetException x) {
083: return null;
084: }
085: }
086:
087: /**
088: * Get the next element.
089: * Duplicates the functionality of <code>nextClause()</code> in order to implement
090: * the <code>java.util.Enumeration</code> interface.
091: * @return the next clause
092: * @deprecated read class comment for details
093: */
094: public Object nextElement() {
095: try {
096: return nextClause();
097: } catch (ClauseSetException x) {
098: return null;
099: }
100: }
101:
102: /**
103: * Remove an element. Not supported, throws a <code>UnsupportedOperationException</code>.
104: * @deprecated read class comment for details
105: */
106: public void remove() {
107: throw new UnsupportedOperationException();
108: }
109:
110: /**
111: * Close the iterator and release all resources.
112: * By default, do nothing.
113: */
114: public void close() {
115: }
116: }
|