diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/SimpleFilter.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/SimpleFilter.java | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/SimpleFilter.java b/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/SimpleFilter.java deleted file mode 100644 index 8cf6bb2650..0000000000 --- a/jpa/plugins/org.eclipse.jpt.utility/src/org/eclipse/jpt/utility/internal/SimpleFilter.java +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2008 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.utility.internal; - -import java.io.Serializable; - -import org.eclipse.jpt.utility.Filter; - -/** - * Simple, abstract implementation of <code>Filter</code> - * that holds on to a criterion object that can be used in the - * <code>accept(Object)</code> or <code>reject(Object)</code> - * methods. Subclasses can override either of these methods, - * depending on which is easier to implement. Note that at least - * one of these methods <em>must</em> be overridden or - * an infinite loop will occur. If both of them are overridden, - * only the <code>accept(Object)</code> method will be used. - * <p> - * Simplifies the implementation of straightforward inner classes. - * Here is an example of a filter that can be used by a - * <code>FilteringIterator</code> to return only those strings - * in the nested iterator start with "prefix": - * <pre> - * Filter<String> filter = new SimpleFilter<String>("prefix") { - * public boolean accept(String o) { - * return o.startsWith((String) criterion); - * } - * }; - * </pre> - */ -public abstract class SimpleFilter<T, S> - implements Filter<T>, Cloneable, Serializable -{ - protected final S criterion; - - private static final long serialVersionUID = 1L; - - - /** - * More useful constructor. The specified criterion can - * be used by a subclass to "accept" or "reject" objects. - */ - protected SimpleFilter(S criterion) { - super(); - this.criterion = criterion; - } - - /** - * Construct a simple filter with a null criterion - */ - protected SimpleFilter() { - this(null); - } - - /** - * Return whether the the specified object should be "rejected". - * The semantics of "rejected" is determined by the client. - */ - protected boolean reject(T o) { - return ! this.accept(o); - } - - /** - * Return whether the the specified object should be "accepted". - * The semantics of "accepted" is determined by the client. - */ - public boolean accept(T o) { - return ! this.reject(o); - } - - @Override - @SuppressWarnings("unchecked") - public SimpleFilter<T, S> clone() { - try { - return (SimpleFilter<T, S>) super.clone(); - } catch (CloneNotSupportedException ex) { - throw new InternalError(); - } - } - - @Override - public boolean equals(Object o) { - if ( ! (o instanceof SimpleFilter)) { - return false; - } - SimpleFilter<?, ?> other = (SimpleFilter<?, ?>) o; - return (this.criterion == null) ? - (other.criterion == null) : this.criterion.equals(other.criterion); - } - - @Override - public int hashCode() { - return (this.criterion == null) ? 0 : this.criterion.hashCode(); - } - - @Override - public String toString() { - return StringTools.buildToStringFor(this, this.criterion); - } - -} |