com.ibm.wsspi.adaptable.module
Interface Container

All Superinterfaces:
Adaptable, java.lang.Iterable<Entry>
All Known Subinterfaces:
InterpretedContainer

public interface Container
extends Adaptable, java.lang.Iterable<Entry>

An adaptable container.


Method Summary
 Container getEnclosingContainer()
          Get the Container that encloses this one.
 Entry getEntry(java.lang.String pathAndName)
          Obtain adaptable entry from this container.
Path may be relative to this node, or absolute to the local root.
Local root is the 'enclosingContainer' above this Container in the hierarchy, that returns true for 'isRoot'.
 java.lang.String getName()
          Get name for this Container.
 java.lang.String getPath()
          Get path for this Container.
 java.lang.String getPhysicalPath()
          Deprecated. added purely to support getRealPath on ServletContext .. post alpha this will need replacing.
 Container getRoot()
          Gets the Container that represents the root of this Entries hierarchy.
 java.util.Collection<java.net.URL> getURLs()
          This may not be implemented by all implementations of this interface and it should never return null but should return an empty collection instead.
 boolean isRoot()
          True if this Container represents a root for paths.
 
Methods inherited from interface com.ibm.wsspi.adaptable.module.Adaptable
adapt
 
Methods inherited from interface java.lang.Iterable
iterator
 

Method Detail

getEntry

Entry getEntry(java.lang.String pathAndName)
Obtain adaptable entry from this container.
Path may be relative to this node, or absolute to the local root.
Local root is the 'enclosingContainer' above this Container in the hierarchy, that returns true for 'isRoot'.

Parameters:
pathAndName - path to obtain entry at.
Returns:
Entry if located, null otherwise.

getName

java.lang.String getName()
Get name for this Container.

eg. /wibble/fish will give fish, /wibble will give wibble

Returns:
name of this Container

getPath

java.lang.String getPath()
Get path for this Container.

Returns:
path for this Container.

getEnclosingContainer

Container getEnclosingContainer()
Get the Container that encloses this one.

Even containers that return true for isRoot, may return an enclosing Container.
Eg. a Jar within a directory, the jar will return true for isRoot, and it's enclosing container would be the directory.

Returns:
the Container enclosing this one, or null if there is none.

isRoot

boolean isRoot()
True if this Container represents a root for paths.

Even containers that return true for isRoot, may still be enclosed by another Container. Eg. a Jar within a directory, the jar will return true for isRoot, and it's enclosing container would be the directory.

Returns:
true if this Container is a root, false otherwise.

getRoot

Container getRoot()
Gets the Container that represents the root of this Entries hierarchy. eg. the Container with path "/".

Returns:
container representing / (or self, if this isRoot=true)

getURLs

java.util.Collection<java.net.URL> getURLs()
This may not be implemented by all implementations of this interface and it should never return null but should return an empty collection instead.

Returns:
A collection of URLs that represent all of the locations on disk that contribute to this container
Throws:
java.lang.UnsupportedOperationException - if the implementation does not support this method

getPhysicalPath

@Deprecated
java.lang.String getPhysicalPath()
Deprecated. added purely to support getRealPath on ServletContext .. post alpha this will need replacing.

Get path for this Entity. Not all implementations of this interface need to support this method and should return null if they do not support them.

If the entry is container within an archive file such as a JAR or ZIP then this will return null.

For directories that have more than one physical location mapped to them then this will return the first mapped resource.

Returns:
String representing physical path on disk for this entity.. null if there is none. null is very possible.