com.ibm.wsspi.artifact
Interface ArtifactEntry

All Superinterfaces:
EnclosedEntity, Entity

public interface ArtifactEntry
extends EnclosedEntity

Represents an Entry within a Container. Note that Container does not require hashCode/equals, and thus should not be used as a key in HashMaps, etc.


Method Summary
 ArtifactContainer convertToContainer()
          Attempt to convert this entry into a Container.
 ArtifactContainer convertToContainer(boolean localOnly)
          Attempt to convert this entry into a ArtifactContainer.
 java.io.InputStream getInputStream()
          Obtain inputstream for entry.
 long getLastModified()
          Obtain the time that this entry was last modified
 java.net.URL getResource()
           This method should return a URL suitable for the ServletContext.getResource(String path) method.
 long getSize()
          Obtain size of this Entries data, if any.
 
Methods inherited from interface com.ibm.wsspi.artifact.EnclosedEntity
getEnclosingContainer, getPath, getPhysicalPath, getRoot
 
Methods inherited from interface com.ibm.wsspi.artifact.Entity
getName
 

Method Detail

convertToContainer

ArtifactContainer convertToContainer()
Attempt to convert this entry into a Container.

Returned container may be a new type of artifact, check ArtifactContainer.isRoot() on the return.

Returns:
Container if conversion is possible, null otherwise.

convertToContainer

ArtifactContainer convertToContainer(boolean localOnly)
Attempt to convert this entry into a ArtifactContainer.

Returned container may be a new type of artifact, check ArtifactContainer.isRoot() on the return.

Parameters:
localOnly - pass true if conversion should be restricted to returning Containers where isRoot returns false.
Returns:
ArtifactContainer if conversion is possible, null otherwise.

getInputStream

java.io.InputStream getInputStream()
                                   throws java.io.IOException
Obtain inputstream for entry.

Returns:
inputStream if possible for this entry, or null otherwise.
Throws:
java.io.IOException - if there is supposed to be a stream, but an error occurred obtaining it.

getSize

long getSize()
Obtain size of this Entries data, if any.

Returns:
number of bytes this Entry represents.

getLastModified

long getLastModified()
Obtain the time that this entry was last modified

Returns:
A long value indicating the last modified time or 0L if the value is not available

getResource

java.net.URL getResource()

This method should return a URL suitable for the ServletContext.getResource(String path) method.

If this Entry represents a container then this method will not work because some implementations of this API may map more than one location to a single container. Therefore to load all of the locations that contribute to a container you should do:

Container container = entry.convertToContainer();
if (container != null) {
  Collection<URI> allUrisForContainer = container.getUri();
}

This may return null if this Entry is a virtual container that does not have a real location on disk.

Returns:
The URL pointing to this entry on disk
See Also:
ServletContext.getResource(String path)