summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerMeta.java
blob: 32818acf74a4c5b7d8a26f7c019acec435cd16f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package org.openslx.dozmod.model;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * ContainerMeta is used to store container specific information.
 * An object of this class will be serialized with gson to a json file.
 */
public class ContainerMeta {

	private int build_context_method;
	private String build_context_url;
	private String image_name;
	private String run_options;
	private List<ContainerBindMount> bind_mount_config = new ArrayList<>();

	public ContainerMeta() {

		build_context_method = ContainerBuildContextMethod.FILE.ordinal();
		build_context_url = "";
		image_name = "";
		run_options = "";
		bind_mount_config = new ArrayList<>();
	}

	public ContainerMeta(ContainerMeta containerMeta) {
		build_context_method = containerMeta.build_context_method;
		build_context_url = containerMeta.build_context_url;
		image_name = containerMeta.image_name;
		run_options = containerMeta.run_options;
		for (ContainerBindMount bm : containerMeta.bind_mount_config)
			bind_mount_config.add(new ContainerBindMount(bm.getSource(), bm.getTarget(), bm.getOptions()));

	}

	public int getBuildContextMethod() {
		return build_context_method;
	}

	public void setBuildContextMethod(int buildContextMethod) {
		this.build_context_method = buildContextMethod;
	}

	public String getBuildContextUrl() {
		return build_context_url;
	}

	public void setBuildContextUrl(String buildContextUrl) {
		this.build_context_url = buildContextUrl;
	}

	public String getRunOptions() {
		return run_options;
	}

	public void setRunOptions(String run_options) {
		this.run_options = run_options;
	}

	public String getImageName() {
		return image_name;
	}

	public void setImageName(String image_name) {
		this.image_name = image_name;
	}

	public List<ContainerBindMount> getBindMountConfig() {
		return bind_mount_config;
	}

	public void setBindMountConfig(List<ContainerBindMount> bindMountConfig) {
		this.bind_mount_config = bindMountConfig;
	}

	@Override public boolean equals(Object o) {
		if (this == o)
			return true;
		if (o == null || getClass() != o.getClass())
			return false;
		ContainerMeta that = (ContainerMeta) o;
		return Objects.equals(build_context_url, that.build_context_url) && Objects.equals(image_name,
				that.image_name) && Objects.equals(run_options, that.run_options) && Objects.equals(
				bind_mount_config, that.bind_mount_config);
	}

	@Override public int hashCode() {
		return Objects.hash(build_context_url, image_name, run_options);
	}
}