org.jboss.shrinkwrap.api
Class ShrinkWrap

java.lang.Object
  extended by org.jboss.shrinkwrap.api.ShrinkWrap

public final class ShrinkWrap
extends Object

Main entry point into the ShrinkWrap system. Each Archive has an associated Configuration provided at construction by the Domain under which the archive was created. ShrinkWrap provides static access to the default Domain (and by extension the default Configuration), as well as a shortcut mechanism to create Archives under these defaults by way of create(String, Class). Additionally, this class is the hook to create new Domains via createDomain(), createDomain(ConfigurationBuilder) or createDomain(Configuration).

Version:
$Revision: $
Author:
ALR

Method Summary
static
<T extends Assignable>
T
create(String archiveName, Class<T> type)
          Creates a new archive of the specified type.
static Domain createDomain()
          Creates a new Domain containing a default Configuration.
static Domain createDomain(Configuration configuration)
          Creates a new Domain containing configuration properties from the supplied Configuration.
static Domain createDomain(ConfigurationBuilder builder)
          Creates a new Domain containing configuration properties from the supplied ConfigurationBuilder.
static Domain getDefaultDomain()
          Returns a single domain with default configuration for use in applications with no explicit configuration or isolation requirements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createDomain

public static Domain createDomain()
Creates a new Domain containing a default Configuration. ArchiveFactorys created from this domain will have isolated configuration from archive factories created from other domains. Likewise, all ArchiveFactorys and Archives created from the returned domain will share the same configuration.

Returns:
A new Domain with default configuration

createDomain

public static Domain createDomain(ConfigurationBuilder builder)
                           throws IllegalArgumentException
Creates a new Domain containing configuration properties from the supplied ConfigurationBuilder. ArchiveFactorys created from this domain will have isolated configuration from archive factories created from other domains. Likewise, all ArchiveFactorys and Archives created from the returned domain will share the same configuration.

Parameters:
builder - Builder with which we should create a Configuration for this Domain
Returns:
A new Domain with default configuration
Throws:
IllegalArgumentException - If the builder is not supplied

createDomain

public static Domain createDomain(Configuration configuration)
                           throws IllegalArgumentException
Creates a new Domain containing configuration properties from the supplied Configuration. ArchiveFactorys created from this domain will have isolated configuration from archive factories created from other domains. Likewise, all ArchiveFactorys and Archives created from the returned domain will share the same configuration.

Parameters:
configuration - Configuration for this Domain
Returns:
A new Domain with default configuration
Throws:
IllegalArgumentException - If the configuration is not supplied

getDefaultDomain

public static Domain getDefaultDomain()
Returns a single domain with default configuration for use in applications with no explicit configuration or isolation requirements.

Returns:

create

public static <T extends Assignable> T create(String archiveName,
                                              Class<T> type)
                                   throws IllegalArgumentException
Creates a new archive of the specified type. The archive will be be backed by the default Configuration. Invoking this method is functionally equivalent to calling ArchiveFactory.create(String, Class) upon Domain.getArchiveFactory() upon the domain returned by getDefaultDomain().

Parameters:
archiveName - The name of the archive
Returns:
An Assignable archive base
Throws:
IllegalArgumentException - If either argument is not specified


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