All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.dockerjava.api.model.InternetProtocol Maven / Gradle / Ivy

package com.github.dockerjava.api.model;

/**
 * The IP protocols supported by Docker.
 *
 * @see #TCP
 * @see #UDP
 * @see #SCTP
 */
public enum InternetProtocol {
    /**
     * The Transmission Control Protocol
     */
    TCP,

    /**
     * The User Datagram Protocol
     */
    UDP,

    /**
     * The Stream Control Transmission Protocol
     */
    SCTP;

    /**
     * The default {@link InternetProtocol}: {@link #TCP}
     */
    public static final InternetProtocol DEFAULT = TCP;

    /**
     * Returns a string representation of this {@link InternetProtocol} suitable for inclusion in a JSON message. The output is the
     * lowercased name of the Protocol, e.g. tcp.
     *
     * @return a string representation of this {@link InternetProtocol}
     */
    @Override
    public String toString() {
        return super.toString().toLowerCase();
    }

    /**
     * Parses a string to an {@link InternetProtocol}.
     *
     * @param serialized
     *            the protocol, e.g. tcp or TCP
     * @return an {@link InternetProtocol} described by the string
     * @throws IllegalArgumentException
     *             if the argument cannot be parsed
     */
    public static InternetProtocol parse(String serialized) throws IllegalArgumentException {
        try {
            return valueOf(serialized.toUpperCase());
        } catch (Exception e) {
            throw new IllegalArgumentException("Error parsing Protocol '" + serialized + "'");
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy