Home / Class/ Manifest Class — spring-boot Architecture

Manifest Class — spring-boot Architecture

Architecture documentation for the Manifest class in Manifest.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/Manifest.java lines 39–82

public class Manifest extends MappedObject {

	private final Integer schemaVersion;

	private final @Nullable String mediaType;

	private final List<BlobReference> layers;

	protected Manifest(JsonNode node) {
		super(node, MethodHandles.lookup());
		this.schemaVersion = extractSchemaVersion();
		this.mediaType = valueAt("/mediaType", String.class);
		this.layers = childrenAt("/layers", BlobReference::new);
	}

	private Integer extractSchemaVersion() {
		Integer result = valueAt("/schemaVersion", Integer.class);
		Assert.state(result != null, "'result' must not be null");
		return result;
	}

	public Integer getSchemaVersion() {
		return this.schemaVersion;
	}

	public @Nullable String getMediaType() {
		return this.mediaType;
	}

	public List<BlobReference> getLayers() {
		return this.layers;
	}

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

}

Analyze Your Own Codebase

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

Try Supermodel Free