ShrinkWrap Aggregator and Build Parent 1.0.0-cr-1

org.jboss.shrinkwrap.impl.base
Class MemoryMapArchiveBase<T extends Archive<T>>

java.lang.Object
  extended by org.jboss.shrinkwrap.impl.base.ArchiveBase<T>
      extended by org.jboss.shrinkwrap.impl.base.MemoryMapArchiveBase<T>
Type Parameters:
T -
All Implemented Interfaces:
Archive<T>, Assignable, ArchiveFormatAssociable, Configurable
Direct Known Subclasses:
MemoryMapArchiveImpl

public abstract class MemoryMapArchiveBase<T extends Archive<T>>
extends ArchiveBase<T>
implements Archive<T>

MemoryMapArchiveBase A base implementation for all MemoryMap archives. Thread-safe.

Version:
$Revision: $
Author:
John Bailey, Aslak Knutsen

Constructor Summary
MemoryMapArchiveBase(Configuration configuration)
          Constructor This constructor will generate a unique Archive.getName() per instance.
MemoryMapArchiveBase(String archiveName, Configuration configuration)
          Constructor This constructor will generate an Archive with the provided name.
 
Method Summary
 T add(Archive<?> archive, ArchivePath path, Class<? extends StreamExporter> exporter)
          Add an archive under a specific context and maintain the archive name as context path.
 T add(Archive<?> archive, String path, Class<? extends StreamExporter> exporter)
          Add an archive under a specific context and maintain the archive name as context path.
 T add(Asset asset, ArchivePath path)
          Adds the specified asset under the specified path into the target context
 T addAsDirectory(ArchivePath path)
          Adds the specified directory.
 boolean contains(ArchivePath path)
          Denotes whether this archive contains a resource at the specified path
 boolean contains(String path)
          Denotes whether this archive contains a resource at the specified path
 Node delete(ArchivePath path)
          Removes the Node in the Archive at the specified ArchivePath.
 Node delete(String archivePath)
          Removes the Node in the Archive at the ArchivePath indicated by the specified String archivePath.
 Node get(ArchivePath path)
          Obtains the Node located at the specified path
 Map<ArchivePath,Node> getContent()
          Obtains all assets in this archive, along with its respective Path.
 Map<ArchivePath,Node> getContent(Filter<ArchivePath> filter)
          Obtains all assets matching given filter in this archive, along with its respective Path.
 
Methods inherited from class org.jboss.shrinkwrap.impl.base.ArchiveBase
add, add, add, add, addAsDirectories, addAsDirectories, addAsDirectory, as, covariantReturn, equals, get, getActualClass, getArchiveFormat, getAsType, getAsType, getAsType, getAsType, getAsType, getAsType, getConfiguration, getName, hashCode, merge, merge, merge, merge, merge, merge, toString, toString, toString, writeTo
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jboss.shrinkwrap.api.Archive
add, add, add, add, addAsDirectories, addAsDirectories, addAsDirectory, get, getAsType, getAsType, getAsType, getAsType, getAsType, getAsType, getName, merge, merge, merge, merge, merge, merge, toString, toString, toString, writeTo
 
Methods inherited from interface org.jboss.shrinkwrap.api.Assignable
as
 

Constructor Detail

MemoryMapArchiveBase

public MemoryMapArchiveBase(Configuration configuration)
                     throws IllegalArgumentException
Constructor This constructor will generate a unique Archive.getName() per instance.

Parameters:
configuration - The configuration for this archive
Throws:
IllegalArgumentException - If the configuration is not specified

MemoryMapArchiveBase

public MemoryMapArchiveBase(String archiveName,
                            Configuration configuration)
                     throws IllegalArgumentException
Constructor This constructor will generate an Archive with the provided name.

Parameters:
archiveName -
configuration - The configuration for this archive
Throws:
IllegalArgumentException - If the name or configuration is not specified
Method Detail

add

public T add(Asset asset,
             ArchivePath path)
Adds the specified asset under the specified path into the target context

Specified by:
add in interface Archive<T extends Archive<T>>
path - The context under which to add the assets
Returns:
See Also:
Archive.add(org.jboss.shrinkwrap.api.asset.Asset, org.jboss.shrinkwrap.api.ArchivePath)

add

public T add(Archive<?> archive,
             String path,
             Class<? extends StreamExporter> exporter)
Add an archive under a specific context and maintain the archive name as context path.

Specified by:
add in interface Archive<T extends Archive<T>>
Parameters:
archive - to add
path - to use
exporter - Exporter type to use in fulfilling the Asset.openStream() contract for the added (nested) archive.
Returns:
See Also:
Archive.add(org.jboss.shrinkwrap.api.Archive, java.lang.String, java.lang.Class)

add

public T add(Archive<?> archive,
             ArchivePath path,
             Class<? extends StreamExporter> exporter)
Add an archive under a specific context and maintain the archive name as context path.

Specified by:
add in interface Archive<T extends Archive<T>>
Overrides:
add in class ArchiveBase<T extends Archive<T>>
Parameters:
archive - to add
path - to use
exporter - Exporter type to use in fulfilling the Asset.openStream() contract for the added (nested) archive.
Returns:
See Also:
ArchiveBase.add(org.jboss.shrinkwrap.api.Archive, org.jboss.shrinkwrap.api.ArchivePath, java.lang.Class)

addAsDirectory

public T addAsDirectory(ArchivePath path)
                                    throws IllegalArgumentException
Adds the specified directory.

Specified by:
addAsDirectory in interface Archive<T extends Archive<T>>
Parameters:
path - The path to add
Returns:
This archive
Throws:
IllegalArgumentException - If no path was specified
See Also:
Archive.addAsDirectory(org.jboss.shrinkwrap.api.ArchivePath)

contains

public boolean contains(ArchivePath path)
Denotes whether this archive contains a resource at the specified path

Specified by:
contains in interface Archive<T extends Archive<T>>
Returns:
See Also:
Archive.contains(org.jboss.shrinkwrap.api.ArchivePath)

contains

public boolean contains(String path)
                 throws IllegalArgumentException
Denotes whether this archive contains a resource at the specified path

Specified by:
contains in interface Archive<T extends Archive<T>>
Returns:
Throws:
IllegalArgumentException - If the path is not specified
See Also:
Archive.contains(java.lang.String)

delete

public Node delete(ArchivePath path)
Removes the Node in the Archive at the specified ArchivePath. If the path is a directory, recursively removes all contents. If the path does not exist, return null.

Specified by:
delete in interface Archive<T extends Archive<T>>
Returns:
The Node removed
See Also:
org.jboss.shrinkwrap.api.Archive#delete(org.jboss.declarchive.api.ArchivePath)

delete

public Node delete(String archivePath)
Removes the Node in the Archive at the ArchivePath indicated by the specified String archivePath. If the path is a directory, recursively removes all contents. If the path does not exist, return null.

Specified by:
delete in interface Archive<T extends Archive<T>>
Returns:
The Node removed
See Also:
Archive.delete(java.lang.String)

get

public Node get(ArchivePath path)
Obtains the Node located at the specified path

Specified by:
get in interface Archive<T extends Archive<T>>
Returns:
The Node, or null if nothing is found at the specified path
See Also:
Archive.get(org.jboss.shrinkwrap.api.ArchivePath)

getContent

public Map<ArchivePath,Node> getContent()
Obtains all assets in this archive, along with its respective Path. The returned Map will be an immutable view.

Specified by:
getContent in interface Archive<T extends Archive<T>>
Returns:
See Also:
Archive.getContent()

getContent

public Map<ArchivePath,Node> getContent(Filter<ArchivePath> filter)
Obtains all assets matching given filter in this archive, along with its respective Path. The returned Map will be an immutable view.

Specified by:
getContent in interface Archive<T extends Archive<T>>
Returns:
See Also:
Archive.getContent(org.jboss.shrinkwrap.api.Filter)

ShrinkWrap Aggregator and Build Parent 1.0.0-cr-1

Copyright © 2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.