Home / Type/ Compression Type — spring-boot Architecture

Compression Type — spring-boot Architecture

Architecture documentation for the Compression type/interface in TarArchive.java from the spring-boot codebase.

Entity Profile

Source Code

buildpack/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/io/TarArchive.java lines 114–147

	enum Compression {

		/**
		 * The tar file is not compressed.
		 */
		NONE((inputStream) -> inputStream),

		/**
		 * The tar file is compressed using gzip.
		 */
		GZIP(GZIPInputStream::new),

		/**
		 * The tar file is compressed using zstd.
		 */
		ZSTD("zstd compression is not supported");

		private final ThrowingFunction<InputStream, InputStream> uncompressor;

		Compression(String uncompressError) {
			this((inputStream) -> {
				throw new IllegalStateException(uncompressError);
			});
		}

		Compression(ThrowingFunction<InputStream, InputStream> wrapper) {
			this.uncompressor = wrapper;
		}

		InputStream uncompress(InputStream inputStream) {
			return this.uncompressor.apply(inputStream);
		}

	}

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free