public final class ShrinkWrap extends Object
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 Archive
s under these defaults by way of create(Class, String)
. Additionally, this
class is the hook to create new Domain
s via createDomain()
,
createDomain(ConfigurationBuilder)
or createDomain(Configuration)
.Modifier and Type | Method and Description |
---|---|
static <T extends Assignable> |
create(Class<T> type)
Creates a new archive of the specified type.
|
static <T extends Assignable> |
create(Class<T> type,
String archiveName)
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 <T extends Assignable> |
createFromZipFile(Class<T> type,
File archiveFile)
Creates a new archive of the specified type as imported from the specified
File . |
static Domain |
getDefaultDomain()
Returns a single domain with default configuration for use in applications with no explicit configuration or
isolation requirements.
|
public static Domain createDomain()
Domain
containing a default Configuration
. ArchiveFactory
s created from
this domain will have isolated configuration from archive factories created from other domains. Likewise, all
ArchiveFactory
s and Archive
s created from the returned domain will share the same configuration.Domain
with default configurationpublic static Domain createDomain(ConfigurationBuilder builder) throws IllegalArgumentException
Domain
containing configuration properties from the supplied ConfigurationBuilder
.
ArchiveFactory
s created from this domain will have isolated configuration from archive factories created
from other domains. Likewise, all ArchiveFactory
s and Archive
s created from the returned domain
will share the same configuration.builder
- Builder with which we should create a Configuration
for this Domain
Domain
with default configurationIllegalArgumentException
- If the builder is not suppliedpublic static Domain createDomain(Configuration configuration) throws IllegalArgumentException
Domain
containing configuration properties from the supplied Configuration
.
ArchiveFactory
s created from this domain will have isolated configuration from archive factories created
from other domains. Likewise, all ArchiveFactory
s and Archive
s created from the returned domain
will share the same configuration.configuration
- Configuration
for this Domain
Domain
with default configurationIllegalArgumentException
- If the configuration is not suppliedpublic static Domain getDefaultDomain()
Domain
public static <T extends Assignable> T create(Class<T> type) throws IllegalArgumentException, UnknownExtensionTypeException
Configuration
.
specific to this ArchiveFactory
. Generates a random name for the archive and adds proper extension based
on the service descriptor properties file if extension property is present (e.g.
shrinkwrap/impl-base/src/main/resources/META-INF/services/org.jboss.shrinkwrap.api.spec.JavaArchive)
Invoking this method is functionally equivalent to calling ArchiveFactory.create(Class)
upon
Domain.getArchiveFactory()
upon the domain returned by getDefaultDomain()
.type
- The type of the archive e.g. WebArchive
Assignable
archive baseIllegalArgumentException
- if type is not specifiedUnknownExtensionTypeException
- If no extension mapping is found for the specified typepublic static <T extends Assignable> T create(Class<T> type, String archiveName) throws IllegalArgumentException
Configuration
.
Invoking this method is functionally equivalent to calling ArchiveFactory.create(Class, String)
upon
Domain.getArchiveFactory()
upon the domain returned by getDefaultDomain()
.type
- The type of the archive e.g. WebArchive
archiveName
- The name of the archiveAssignable
archive baseIllegalArgumentException
- either argument is not specifiedpublic static <T extends Assignable> T createFromZipFile(Class<T> type, File archiveFile) throws IllegalArgumentException, ArchiveImportException
File
. The file is expected to
be encoded as ZIP (ie. JAR/WAR/EAR). The name of the archive will be set to File.getName()
. The archive
will be be backed by the Configuration
within the getDefaultDomain()
type
- The type of the archive e.g. WebArchive
archiveFile
- the archiveName to useAssignable
viewIllegalArgumentException
- If either argument is not supplied, if the specified File
does not exist, or is not a valid
ZIP fileArchiveImportException
- If an error occurred during the import processCopyright © 2016 JBoss by Red Hat. All rights reserved.