com.ibm.wsspi.artifact

Interface ArtifactContainer

All Superinterfaces:
EnclosedEntity, Entity, java.lang.Iterable<ArtifactEntry>

  1. public interface ArtifactContainer
  2. extends java.lang.Iterable<ArtifactEntry>, EnclosedEntity
Represents an immediate enclosure of a number of Entries.

Entries within this Container, may themselves be Containers Entry#convertToContainer()

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


Method Summary

Modifier and Type Method and Description
  1. ArtifactNotifier
getArtifactNotifier()
Obtain the notification manager for this container.
  1. ArtifactEntry
getEntry(java.lang.String pathAndName)
Obtain an entry from this container.
  1. ArtifactEntry
getEntryInEnclosingContainer()
Get the Entry representing this entity within its EnclosingContainer
  1. 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.
  1. boolean
isRoot()
Does this container represent the root of an artifact.
  1. void
stopUsingFastMode()
Instruct this container that you no longer require it to consume resources to speed access to it's content.
  1. void
useFastMode()
Instruct this container it may commit to using more resources to speed access to it's content.
Methods inherited from interface java.lang.Iterable
iterator
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

useFastMode

  1. void useFastMode()
Instruct this container it may commit to using more resources to speed access to it's content.

Fast Mode is enabled at the root container, and enables/disables for all containers beneath that root.
Fast Mode does not cascade into new root containers (eg, where Entry.convertToContainer().isRoot()==true)

Calling this method requires you to later invoke stopUsingFastMode()

This method is equivalent to ArtifactContainer.getRoot().useFastMode()


stopUsingFastMode

  1. void stopUsingFastMode()
Instruct this container that you no longer require it to consume resources to speed access to it's content.

Fast Mode is enabled at the root container, and enables/disables for all containers beneath that root.
Fast Mode does not cascade into new root containers (eg, where Entry.convertToContainer().isRoot()==true)

Calling this method requires you to have previously invoked useFastMode()

This method is equivalent to ArtifactContainer.getRoot().useFastMode()


isRoot

  1. boolean isRoot()
Does this container represent the root of an artifact.
Returns:
true if root, false otherwise.

getEntry

  1. ArtifactEntry getEntry(java.lang.String pathAndName)
Obtain an entry from this container.

If path is absolute (starts with '/') and this Container is not root Container#isRoot the path is interpreted as being from the Container that is root enclosing this one.
If the path is not absolute, (does not start with '/'), or this Container is root and the path is absolute, then the entry is searched for relative to this Container.

Parameters:
pathAndName - absolute or relative path to search for.
Returns:
ArtifactEntry if Entry was found, null otherwise.

getURLs

  1. 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

getEntryInEnclosingContainer

  1. ArtifactEntry getEntryInEnclosingContainer( )
Get the Entry representing this entity within its EnclosingContainer
Returns:
entry representing this entity in the enclosing container, or null if there is no enclosing container, and therefore no entry.

getArtifactNotifier

  1. ArtifactNotifier getArtifactNotifier( )
Obtain the notification manager for this container.
Returns: