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

com.jelastic.api.system.persistence.Endpoint Maven / Gradle / Ivy

There is a newer version: 8.12-1
Show newest version
/*Server class MD5: 5bb9bec2996a11e22eea79154c578990*/
package com.jelastic.api.system.persistence;

import com.jelastic.api.development.response.interfaces.ArrayItem;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * @name Jelastic API Client
 * @version 8.11.2
 * @copyright Jelastic, Inc.
 */
public class Endpoint extends ArrayItem {

    public static final String PUBLIC_PORT = "publicPort";

    public static final String PRIVATE_PORT = "privatePort";

    public static final String NAME = "name";

    public static final String PROTOCOL = "protocol";

    public static final String DOMAIN = "domain";

    public static final String NODE_ID = "nodeId";

    private int publicPort;

    private int privatePort;

    private String name;

    private EndpointProtocolType protocol;

    private OsNode osNode;

    private String domain;

    private Integer nodeId;

    public Endpoint() {
    }

    public Endpoint(int publicPort, int privatePort, String name, EndpointProtocolType protocol) {
        this.publicPort = publicPort;
        this.privatePort = privatePort;
        this.name = name;
        this.protocol = protocol;
    }

    public OsNode getOsNode() {
        return osNode;
    }

    public void setOsNode(OsNode osNode) {
        this.osNode = osNode;
    }

    public int getPublicPort() {
        return publicPort;
    }

    public void setPublicPort(int publicPort) {
        this.publicPort = publicPort;
    }

    public int getPrivatePort() {
        return privatePort;
    }

    public void setPrivatePort(int privatePort) {
        this.privatePort = privatePort;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public EndpointProtocolType getProtocol() {
        return protocol;
    }

    public void setProtocol(EndpointProtocolType protocol) {
        this.protocol = protocol;
    }

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public Integer getNodeId() {
        return nodeId;
    }

    public void setNodeId(Integer nodeId) {
        this.nodeId = nodeId;
    }

    public JSONObject _toJSON() throws JSONException {
        JSONObject json = new JSONObject();
        json.put(ID, getId());
        json.put(PUBLIC_PORT, this.publicPort);
        json.put(PRIVATE_PORT, this.privatePort);
        json.put(NAME, this.name);
        json.put(PROTOCOL, this.protocol.toString());
        json.put(DOMAIN, this.domain);
        json.putOpt(NODE_ID, this.nodeId);
        return json;
    }

    public Endpoint _fromJSON(JSONObject json) throws JSONException {
        if (json.has(ID)) {
            this.setId(json.getInt(ID));
        }
        if (json.has(PUBLIC_PORT)) {
            this.publicPort = json.getInt(PUBLIC_PORT);
        }
        if (json.has(PRIVATE_PORT)) {
            this.privatePort = json.getInt(PRIVATE_PORT);
        }
        if (json.has(NAME)) {
            this.name = json.getString(NAME);
        }
        if (json.has(PROTOCOL)) {
            this.protocol = EndpointProtocolType.valueOf(EndpointProtocolType.class, json.getString(PROTOCOL).toUpperCase());
        }
        if (json.has(DOMAIN)) {
            this.domain = json.getString(DOMAIN);
        }
        return this;
    }

    public String getEndpointUrl() {
        return this.getDomain() + ":" + this.getPublicPort();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy