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

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

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

import com.jelastic.api.common.Constants;
import com.jelastic.api.core.orm.dao.AbstractEntity;
import com.jelastic.api.core.utils.StringUtils;
import java.sql.Blob;
import java.util.Date;
import java.util.Set;
import java.util.stream.Collectors;

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

    public static final String UID = "uid";

    public static final String EXT_DOMAINS = "extDomains";

    private Blob key;

    private String intermediate;

    private Blob nginxCert;

    private String cert;

    private String domains;

    private Date expireDate;

    private String issuedBy;

    private SslType sslType;

    private Integer uid;

    private Set extDomains;

    private boolean isDeleted;

    public Blob getKey() {
        return key;
    }

    public void setKey(Blob key) {
        this.key = key;
    }

    public String getIntermediate() {
        return intermediate;
    }

    public void setIntermediate(String intermediate) {
        this.intermediate = intermediate;
    }

    public String getCert() {
        return cert;
    }

    public void setCert(String cert) {
        this.cert = cert;
    }

    public String getDomains() {
        return domains;
    }

    public void setDomains(String domains) {
        this.domains = domains;
    }

    public Date getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(Date expireDate) {
        this.expireDate = expireDate;
    }

    public String getIssuedBy() {
        return issuedBy;
    }

    public void setIssuedBy(String issuedBy) {
        this.issuedBy = issuedBy;
    }

    public SslType getSslType() {
        return sslType;
    }

    public void setSslType(SslType sslType) {
        this.sslType = sslType;
    }

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public Set getExtDomains() {
        return extDomains;
    }

    public boolean hasExtDomain() {
        return extDomains != null && extDomains.iterator().hasNext();
    }

    public ExtDomain getFirstExtDomain() {
        return extDomains.iterator().next();
    }

    public void setExtDomains(Set extDomains) {
        this.extDomains = extDomains;
    }

    public Blob getNginxCert() {
        return nginxCert;
    }

    public void setNginxCert(Blob nginxCert) {
        this.nginxCert = nginxCert;
    }

    public boolean hasEnabledExtDomains() {
        return extDomains != null && extDomains.stream().anyMatch(ExtDomain::isSslEnabled);
    }

    public boolean isDeleted() {
        return isDeleted;
    }

    public void setDeleted(boolean deleted) {
        isDeleted = deleted;
    }

    public String getStringOfExtDomains() {
        if (extDomains == null) {
            return StringUtils.EMPTY;
        }
        return extDomains.stream().map(ExtDomain::getDomain).collect(Collectors.joining(Constants.COMMA_SEPARATOR + Constants.SPACE_SEPARATOR));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy