Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTabModel.java')
-rw-r--r--launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTabModel.java87
1 files changed, 87 insertions, 0 deletions
diff --git a/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTabModel.java b/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTabModel.java
new file mode 100644
index 00000000000..6fe7e02b98f
--- /dev/null
+++ b/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTabModel.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Red Hat.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat - Initial Contribution
+ *******************************************************************************/
+package org.eclipse.cdt.internal.docker.launcher;
+
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.databinding.observable.list.WritableList;
+
+/**
+ * @since 1.2.1
+ * @author jjohnstn
+ *
+ */
+public class ContainerTabModel extends BaseDatabindingModel {
+
+ public static final String PUBLISH_ALL_PORTS = "publishAllPorts"; //$NON-NLS-1$
+
+ public static final String EXPOSED_PORTS = "exposedPorts"; //$NON-NLS-1$
+
+ public static final String SELECTED_PORTS = "selectedPorts"; //$NON-NLS-1$
+
+ private boolean publishAllPorts = true;
+
+ private final WritableList<ExposedPortModel> exposedPorts = new WritableList<>();
+
+ private Set<ExposedPortModel> selectedPorts;
+
+ public boolean isPublishAllPorts() {
+ return publishAllPorts;
+ }
+
+ public void setPublishAllPorts(boolean publishAllPorts) {
+ firePropertyChange(PUBLISH_ALL_PORTS, this.publishAllPorts,
+ this.publishAllPorts = publishAllPorts);
+ }
+
+ public WritableList<ExposedPortModel> getExposedPorts() {
+ return exposedPorts;
+ }
+
+ public void addAvailablePort(final ExposedPortModel port) {
+ this.exposedPorts.add(port);
+ }
+
+ public void removeAvailablePort(final ExposedPortModel port) {
+ this.exposedPorts.remove(port);
+ }
+
+ public void setExposedPorts(final List<ExposedPortModel> exposedPorts) {
+ this.exposedPorts.clear();
+ this.exposedPorts.addAll(exposedPorts);
+ // FIXME: also add all given exposedPorts to selectedExposedPorts ?
+ }
+
+ public void addExposedPort(final ExposedPortModel exposedPort) {
+ if (!this.exposedPorts.contains(exposedPort)) {
+ this.exposedPorts.add(exposedPort);
+ }
+ }
+
+ public void removeExposedPort(final ExposedPortModel exposedPort) {
+ this.exposedPorts.remove(exposedPort);
+ }
+
+ public void removeExposedPorts() {
+ this.exposedPorts.clear();
+ }
+
+ public Set<ExposedPortModel> getSelectedPorts() {
+ return this.selectedPorts;
+ }
+
+ public void setSelectedPorts(final Set<ExposedPortModel> ports) {
+ firePropertyChange(SELECTED_PORTS, this.selectedPorts,
+ this.selectedPorts = ports);
+ }
+
+}

Back to the top