Skip to content

Commit f0143cb

Browse files
committed
Extract classes
1 parent f5ada8a commit f0143cb

File tree

5 files changed

+524
-300
lines changed

5 files changed

+524
-300
lines changed

src/main/java/com/github/dockerjava/api/model/Container.java

Lines changed: 6 additions & 300 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@
55
import com.fasterxml.jackson.annotation.JsonInclude.Include;
66
import com.fasterxml.jackson.annotation.JsonProperty;
77
import com.github.dockerjava.api.command.ListContainersCmd;
8-
import com.github.dockerjava.api.model.Network.Ipam;
98
import com.github.dockerjava.core.RemoteApiVersion;
109
import org.apache.commons.lang.builder.EqualsBuilder;
1110
import org.apache.commons.lang.builder.HashCodeBuilder;
1211
import org.apache.commons.lang.builder.ToStringBuilder;
1312

1413
import javax.annotation.CheckForNull;
15-
import java.util.List;
1614
import java.util.Map;
1715

1816
/**
@@ -46,7 +44,7 @@ public class Container {
4644
private String[] names;
4745

4846
@JsonProperty("Ports")
49-
public Port[] ports;
47+
public ContainerPort[] ports;
5048

5149
@JsonProperty("Labels")
5250
public Map<String, String> labels;
@@ -72,7 +70,7 @@ public class Container {
7270
* @since ~{@link RemoteApiVersion#VERSION_1_20}
7371
*/
7472
@JsonProperty("HostConfig")
75-
private HostConfig hostConfig;
73+
private ContainerHostConfig hostConfig;
7674

7775
/**
7876
* Docker API docs says "list of networks", but json names `networkSettings`.
@@ -81,7 +79,7 @@ public class Container {
8179
* @since ~{@link RemoteApiVersion#VERSION_1_22}
8280
*/
8381
@JsonProperty("NetworkSettings")
84-
private NetworkSettings networkSettings;
82+
private ContainerNetworkSettings networkSettings;
8583

8684
public String getId() {
8785
return id;
@@ -108,7 +106,7 @@ public String getStatus() {
108106
return status;
109107
}
110108

111-
public Port[] getPorts() {
109+
public ContainerPort[] getPorts() {
112110
return ports;
113111
}
114112

@@ -140,15 +138,15 @@ public Long getSizeRootFs() {
140138
* @see #networkSettings
141139
*/
142140
@CheckForNull
143-
public NetworkSettings getNetworkSettings() {
141+
public ContainerNetworkSettings getNetworkSettings() {
144142
return networkSettings;
145143
}
146144

147145
/**
148146
* @see #hostConfig
149147
*/
150148
@CheckForNull
151-
public HostConfig getHostConfig() {
149+
public ContainerHostConfig getHostConfig() {
152150
return hostConfig;
153151
}
154152

@@ -200,296 +198,4 @@ public int hashCode() {
200198
.append(networkSettings)
201199
.toHashCode();
202200
}
203-
204-
@JsonIgnoreProperties(ignoreUnknown = true)
205-
public static final class HostConfig {
206-
@JsonProperty("NetworkMode")
207-
private String networkMode;
208-
209-
public String getNetworkMode() {
210-
return networkMode;
211-
}
212-
}
213-
214-
/**
215-
* @since {@link RemoteApiVersion#VERSION_1_22}
216-
*/
217-
@JsonIgnoreProperties(ignoreUnknown = true)
218-
public static final class NetworkSettings {
219-
@JsonProperty("Networks")
220-
private Map<String, Network> networks;
221-
222-
public Map<String, Network> getNetworks() {
223-
return networks;
224-
}
225-
226-
@JsonIgnoreProperties(ignoreUnknown = true)
227-
public static final class Network {
228-
/**
229-
* FIXME verify
230-
*/
231-
@JsonProperty("IPAMConfig")
232-
private Ipam.Config ipamConfig;
233-
234-
/**
235-
* FIXME verify
236-
*/
237-
@JsonProperty("Links")
238-
private List<String> links;
239-
240-
/**
241-
* FIXME no docs, unknown field.
242-
* Type picked from `docker/vendor/src/github.com/docker/engine-api/types/network/network.go`
243-
* @since {@link RemoteApiVersion#VERSION_1_22}
244-
*/
245-
@JsonProperty("Aliases")
246-
private List<String> aliases;
247-
248-
@JsonProperty("NetworkID")
249-
private String networkID;
250-
251-
@JsonProperty("EndpointID")
252-
private String endpointId;
253-
254-
@JsonProperty("Gateway")
255-
private String gateway;
256-
257-
@JsonProperty("IPAddress")
258-
private String ipAddress;
259-
260-
@JsonProperty("IPPrefixLen")
261-
private Integer ipPrefixLen;
262-
263-
@JsonProperty("IPv6Gateway")
264-
private String ipV6Gateway;
265-
266-
@JsonProperty("GlobalIPv6Address")
267-
private String globalIPv6Address;
268-
269-
@JsonProperty("GlobalIPv6PrefixLen")
270-
private Integer globalIPv6PrefixLen;
271-
272-
@JsonProperty("MacAddress")
273-
private String macAddress;
274-
275-
/**
276-
* @see #aliases
277-
*/
278-
@CheckForNull
279-
public List<String> getAliases() {
280-
return aliases;
281-
}
282-
283-
/**
284-
* @see #endpointId
285-
*/
286-
@CheckForNull
287-
public String getEndpointId() {
288-
return endpointId;
289-
}
290-
291-
/**
292-
* @see #gateway
293-
*/
294-
@CheckForNull
295-
public String getGateway() {
296-
return gateway;
297-
}
298-
299-
/**
300-
* @see #globalIPv6Address
301-
*/
302-
@CheckForNull
303-
public String getGlobalIPv6Address() {
304-
return globalIPv6Address;
305-
}
306-
307-
/**
308-
* @see #globalIPv6PrefixLen
309-
*/
310-
@CheckForNull
311-
public Integer getGlobalIPv6PrefixLen() {
312-
return globalIPv6PrefixLen;
313-
}
314-
315-
/**
316-
* @see #ipAddress
317-
*/
318-
@CheckForNull
319-
public String getIpAddress() {
320-
return ipAddress;
321-
}
322-
323-
/**
324-
* @see #ipamConfig
325-
*/
326-
@CheckForNull
327-
public Ipam.Config getIpamConfig() {
328-
return ipamConfig;
329-
}
330-
331-
/**
332-
* @see #ipPrefixLen
333-
*/
334-
@CheckForNull
335-
public Integer getIpPrefixLen() {
336-
return ipPrefixLen;
337-
}
338-
339-
/**
340-
* @see #ipV6Gateway
341-
*/
342-
@CheckForNull
343-
public String getIpV6Gateway() {
344-
return ipV6Gateway;
345-
}
346-
347-
/**
348-
* @see #links
349-
*/
350-
@CheckForNull
351-
public List<String> getLinks() {
352-
return links;
353-
}
354-
355-
/**
356-
* @see #macAddress
357-
*/
358-
@CheckForNull
359-
public String getMacAddress() {
360-
return macAddress;
361-
}
362-
363-
/**
364-
* @see #networkID
365-
*/
366-
@CheckForNull
367-
public String getNetworkID() {
368-
return networkID;
369-
}
370-
371-
@Override
372-
public String toString() {
373-
return new ToStringBuilder(this)
374-
.append("aliases", aliases)
375-
.append("ipamConfig", ipamConfig)
376-
.append("links", links)
377-
.append("networkID", networkID)
378-
.append("endpointId", endpointId)
379-
.append("gateway", gateway)
380-
.append("ipAddress", ipAddress)
381-
.append("ipPrefixLen", ipPrefixLen)
382-
.append("ipV6Gateway", ipV6Gateway)
383-
.append("globalIPv6Address", globalIPv6Address)
384-
.append("globalIPv6PrefixLen", globalIPv6PrefixLen)
385-
.append("macAddress", macAddress)
386-
.toString();
387-
}
388-
389-
@Override
390-
public boolean equals(Object o) {
391-
if (this == o) return true;
392-
393-
if (o == null || getClass() != o.getClass()) return false;
394-
395-
Network network = (Network) o;
396-
397-
return new EqualsBuilder()
398-
.append(ipamConfig, network.ipamConfig)
399-
.append(links, network.links)
400-
.append(aliases, network.aliases)
401-
.append(networkID, network.networkID)
402-
.append(endpointId, network.endpointId)
403-
.append(gateway, network.gateway)
404-
.append(ipAddress, network.ipAddress)
405-
.append(ipPrefixLen, network.ipPrefixLen)
406-
.append(ipV6Gateway, network.ipV6Gateway)
407-
.append(globalIPv6Address, network.globalIPv6Address)
408-
.append(globalIPv6PrefixLen, network.globalIPv6PrefixLen)
409-
.append(macAddress, network.macAddress)
410-
.isEquals();
411-
}
412-
413-
@Override
414-
public int hashCode() {
415-
return new HashCodeBuilder(17, 37)
416-
.append(ipamConfig)
417-
.append(links)
418-
.append(aliases)
419-
.append(networkID)
420-
.append(endpointId)
421-
.append(gateway)
422-
.append(ipAddress)
423-
.append(ipPrefixLen)
424-
.append(ipV6Gateway)
425-
.append(globalIPv6Address)
426-
.append(globalIPv6PrefixLen)
427-
.append(macAddress)
428-
.toHashCode();
429-
}
430-
}
431-
}
432-
433-
@JsonIgnoreProperties(ignoreUnknown = true)
434-
public static class Port {
435-
436-
@JsonProperty("IP")
437-
private String ip;
438-
439-
@JsonProperty("PrivatePort")
440-
private Integer privatePort;
441-
442-
@JsonProperty("PublicPort")
443-
private Integer publicPort;
444-
445-
@JsonProperty("Type")
446-
private String type;
447-
448-
public String getIp() {
449-
return ip;
450-
}
451-
452-
public Integer getPrivatePort() {
453-
return privatePort;
454-
}
455-
456-
public Integer getPublicPort() {
457-
return publicPort;
458-
}
459-
460-
public String getType() {
461-
return type;
462-
}
463-
464-
@Override
465-
public String toString() {
466-
return ToStringBuilder.reflectionToString(this);
467-
}
468-
469-
@Override
470-
public boolean equals(Object o) {
471-
if (this == o) return true;
472-
473-
if (o == null || getClass() != o.getClass()) return false;
474-
475-
Port port = (Port) o;
476-
477-
return new EqualsBuilder()
478-
.append(ip, port.ip)
479-
.append(privatePort, port.privatePort)
480-
.append(publicPort, port.publicPort)
481-
.append(type, port.type)
482-
.isEquals();
483-
}
484-
485-
@Override
486-
public int hashCode() {
487-
return new HashCodeBuilder(17, 37)
488-
.append(ip)
489-
.append(privatePort)
490-
.append(publicPort)
491-
.append(type)
492-
.toHashCode();
493-
}
494-
}
495201
}

0 commit comments

Comments
 (0)