org.schmant.task.io.zip
Class ZipTaskZipEntryInfoIterator

java.lang.Object
  extended by org.schmant.task.io.zip.ZipTaskZipEntryInfoIterator
All Implemented Interfaces:
Iterator<ZipEntryInfo>
Direct Known Subclasses:
JarTaskZipEntryInfoIterator

public class ZipTaskZipEntryInfoIterator
extends Object
implements Iterator<ZipEntryInfo>

An iterator that returns ZipEntryInfo objects for entities that should be stored in a Zip file.

Since:
0.5
Author:
Karl Gustafsson
Task_package:
org.schmant.task.base

Constructor Summary
ZipTaskZipEntryInfoIterator(SortedMap<AbsoluteLocation,EntityOrReadableFile> m, ZipEntryInfoProvider extraInfoProvider)
          Constructor.
 
Method Summary
protected  ZipEntryInfo createZipEntryInfo(AbsoluteLocation loc)
          Create a ZipEntryInfo object for the entity at the given location.
protected  SortedMap<AbsoluteLocation,EntityOrReadableFile> getEntityMap()
           
protected  ZipEntryInfoProvider getExtraInfoProvider()
           
 boolean hasNext()
           
 ZipEntryInfo next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZipTaskZipEntryInfoIterator

public ZipTaskZipEntryInfoIterator(SortedMap<AbsoluteLocation,EntityOrReadableFile> m,
                                   ZipEntryInfoProvider extraInfoProvider)
Constructor.

Parameters:
m - A sorted mapping between an entity's absolute location in the Zip archive and the entity.
extraInfoProvider - Used to set extra information on created ZipEntry:s. May be null.
Method Detail

getEntityMap

protected SortedMap<AbsoluteLocation,EntityOrReadableFile> getEntityMap()

getExtraInfoProvider

protected ZipEntryInfoProvider getExtraInfoProvider()

createZipEntryInfo

protected ZipEntryInfo createZipEntryInfo(AbsoluteLocation loc)
Create a ZipEntryInfo object for the entity at the given location. This method can be overridden by subclasses to create other kinds of objects.

Returns:
An information object for the Zip entry.

hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator<ZipEntryInfo>

next

public ZipEntryInfo next()
Specified by:
next in interface Iterator<ZipEntryInfo>

remove

public void remove()
Specified by:
remove in interface Iterator<ZipEntryInfo>