Home / Class/ ImageArchiveManifest Class — spring-boot Architecture

ImageArchiveManifest Class — spring-boot Architecture

Architecture documentation for the ImageArchiveManifest class in ImageArchiveManifest.java from the spring-boot codebase.

Entity Profile

Relationship Graph

Source Code

buildpack/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/docker/type/ImageArchiveManifest.java lines 35–90

public class ImageArchiveManifest extends MappedObject {

	private final List<ManifestEntry> entries;

	protected ImageArchiveManifest(JsonNode node) {
		super(node, MethodHandles.lookup());
		this.entries = childrenAt(null, ManifestEntry::new);
	}

	/**
	 * Return the entries contained in the manifest.
	 * @return the manifest entries
	 */
	public List<ManifestEntry> getEntries() {
		return this.entries;
	}

	/**
	 * Create an {@link ImageArchiveManifest} from the provided JSON input stream.
	 * @param content the JSON input stream
	 * @return a new {@link ImageArchiveManifest} instance
	 * @throws IOException on IO error
	 */
	public static ImageArchiveManifest of(InputStream content) throws IOException {
		return of(content, ImageArchiveManifest::new);
	}

	public static class ManifestEntry extends MappedObject {

		private final List<String> layers;

		protected ManifestEntry(JsonNode node) {
			super(node, MethodHandles.lookup());
			this.layers = extractLayers();
		}

		/**
		 * Return the collection of layer IDs from a section of the manifest.
		 * @return a collection of layer IDs
		 */
		public List<String> getLayers() {
			return this.layers;
		}

		@SuppressWarnings("unchecked")
		private List<String> extractLayers() {
			List<String> layers = valueAt("/Layers", List.class);
			if (layers == null) {
				return Collections.emptyList();
			}
			return layers;
		}

	}

}

Analyze Your Own Codebase

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

Try Supermodel Free