From: <bra...@us...> - 2007-07-25 00:34:55
|
Revision: 1872 http://archive-access.svn.sourceforge.net/archive-access/?rev=1872&view=rev Author: bradtofel Date: 2007-07-24 17:34:39 -0700 (Tue, 24 Jul 2007) Log Message: ----------- TWEAK: type safety Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/AdaptedIterator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/Adapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/CachedFile.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/CloseableIterator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ObjectFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ObjectFilterChain.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/AdaptedIterator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/AdaptedIterator.java 2007-07-25 00:33:53 UTC (rev 1871) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/AdaptedIterator.java 2007-07-25 00:34:39 UTC (rev 1872) @@ -33,16 +33,18 @@ * * @author brad * @version $Date$, $Revision$ + * @param <S> + * @param <T> */ -public class AdaptedIterator implements CloseableIterator { - protected Iterator itr; - protected Adapter adapter; - private Object cachedNext = null; +public class AdaptedIterator<S,T> implements CloseableIterator<T> { + protected Iterator<S> itr; + protected Adapter<S,T> adapter; + private T cachedNext = null; /** * @param itr * @param adapter */ - public AdaptedIterator(Iterator itr, Adapter adapter) { + public AdaptedIterator(Iterator<S> itr, Adapter<S,T> adapter) { this.itr = itr; this.adapter = adapter; } @@ -53,8 +55,8 @@ public boolean hasNext() { if(cachedNext != null) return true; while(itr.hasNext()) { - Object o = itr.next(); - Object adapted = adapter.adapt(o); + S o = itr.next(); + T adapted = adapter.adapt(o); if(adapted != null) { cachedNext = adapted; return true; @@ -65,11 +67,11 @@ /* (non-Javadoc) * @see java.util.Iterator#next() */ - public Object next() { + public T next() { if(cachedNext == null) { throw new NoSuchElementException("call hasNext first!"); } - Object o = cachedNext; + T o = cachedNext; cachedNext = null; return o; } @@ -85,7 +87,7 @@ */ public void close() throws IOException { if(itr instanceof CloseableIterator) { - CloseableIterator toBeClosed = (CloseableIterator) itr; + CloseableIterator<S> toBeClosed = (CloseableIterator<S>) itr; toBeClosed.close(); } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/Adapter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/Adapter.java 2007-07-25 00:33:53 UTC (rev 1871) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/Adapter.java 2007-07-25 00:34:39 UTC (rev 1872) @@ -29,13 +29,15 @@ * * @author brad * @version $Date$, $Revision$ + * @param <S> + * @param <T> */ -public interface Adapter { +public interface Adapter<S,T> { /** * Transform one object into another * * @param o * @return new object that is adapted from the old */ - public Object adapt(Object o); + public T adapt(S o); } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/CachedFile.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/CachedFile.java 2007-07-25 00:33:53 UTC (rev 1871) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/CachedFile.java 2007-07-25 00:34:39 UTC (rev 1872) @@ -31,7 +31,6 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.URL; -import java.util.Iterator; import org.archive.wayback.util.flatfile.FlatFile; @@ -86,7 +85,7 @@ * @return Iterator of lines in File * @throws IOException */ - public Iterator getSequentialIterator() throws IOException { + public CloseableIterator<String> getSequentialIterator() throws IOException { long nowMS = System.currentTimeMillis(); if(nowMS > nextCheckMS) { refreshFromSource(); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/CloseableIterator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/CloseableIterator.java 2007-07-25 00:33:53 UTC (rev 1871) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/CloseableIterator.java 2007-07-25 00:34:39 UTC (rev 1872) @@ -33,6 +33,7 @@ * * @author brad * @version $Date$, $Revision$ + * @param <E> */ -public interface CloseableIterator extends Iterator, Closeable { +public interface CloseableIterator<E> extends Iterator<E>, Closeable { } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ObjectFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ObjectFilter.java 2007-07-25 00:33:53 UTC (rev 1871) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ObjectFilter.java 2007-07-25 00:34:39 UTC (rev 1872) @@ -29,8 +29,9 @@ * * @author brad * @version $Date$, $Revision$ + * @param <E> */ -public interface ObjectFilter { +public interface ObjectFilter<E> { /** * constant indicating record should be included in the result set */ @@ -52,6 +53,6 @@ * @param o Object which should be checked for inclusion/exclusion or abort * @return int of FILTER_INCLUDE, FILTER_EXCLUDE, or FILTER_ABORT */ - public int filterObject(Object o); + public int filterObject(E o); } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ObjectFilterChain.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ObjectFilterChain.java 2007-07-25 00:33:53 UTC (rev 1871) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ObjectFilterChain.java 2007-07-25 00:34:39 UTC (rev 1872) @@ -33,31 +33,32 @@ * * @author brad * @version $Date$, $Revision$ + * @param <E> */ -public class ObjectFilterChain implements ObjectFilter { +public class ObjectFilterChain<E> implements ObjectFilter<E> { - private ArrayList<ObjectFilter> filters = null; + private ArrayList<ObjectFilter<E>> filters = null; /** * Constructor */ public ObjectFilterChain() { - this.filters = new ArrayList<ObjectFilter>(); + this.filters = new ArrayList<ObjectFilter<E>>(); } /** * @param filter to be added to the chain. filters are processed in the * order they are added to the chain. */ - public void addFilter(ObjectFilter filter) { + public void addFilter(ObjectFilter<E> filter) { filters.add(filter); } /* (non-Javadoc) * @see org.archive.wayback.cdx.filter.RecordFilter#filterRecord(org.archive.wayback.cdx.CDXRecord) */ - public int filterObject(Object o) { + public int filterObject(E o) { int size = filters.size(); int result = FILTER_ABORT; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |