Class ShrinkWrap

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  ShrinkWrap.DefaultDomainWrapper
      Singleton wrapper to encapsulate a default domain
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ShrinkWrap()
      Internal constructor; not to be called as this class provides static utilities only
    • Constructor Detail

      • ShrinkWrap

        private ShrinkWrap()
        Internal constructor; not to be called as this class provides static utilities only
    • 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 java.lang.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:
        java.lang.IllegalArgumentException - If the builder is not supplied
      • createDomain

        public static Domain createDomain​(Configuration configuration)
                                   throws java.lang.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:
        java.lang.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:
        default Domain
      • create

        public static <T extends Assignable> T create​(java.lang.Class<T> type)
                                               throws java.lang.IllegalArgumentException,
                                                      UnknownExtensionTypeException
        Creates a new archive of the specified type. The archive will be be backed by the default 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().
        Parameters:
        type - The type of the archive e.g. WebArchive
        Returns:
        An Assignable archive base
        Throws:
        java.lang.IllegalArgumentException - if type is not specified
        UnknownExtensionTypeException - If no extension mapping is found for the specified type
      • create

        public static <T extends Assignable> T create​(java.lang.Class<T> type,
                                                      java.lang.String archiveName)
                                               throws java.lang.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(Class, String) upon Domain.getArchiveFactory() upon the domain returned by getDefaultDomain().
        Parameters:
        type - The type of the archive e.g. WebArchive
        archiveName - The name of the archive
        Returns:
        An Assignable archive base
        Throws:
        java.lang.IllegalArgumentException - either argument is not specified
      • createFromZipFile

        public static <T extends Assignable> T createFromZipFile​(java.lang.Class<T> type,
                                                                 java.io.File archiveFile)
                                                          throws java.lang.IllegalArgumentException,
                                                                 ArchiveImportException
        Creates a new archive of the specified type as imported from the specified 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()
        Parameters:
        type - The type of the archive e.g. WebArchive
        archiveFile - the archiveName to use
        Returns:
        An Assignable view
        Throws:
        java.lang.IllegalArgumentException - If either argument is not supplied, if the specified File does not exist, or is not a valid ZIP file
        ArchiveImportException - If an error occurred during the import process