![JAR search and dependency download from the Maven repository](/logo.png)
com.jelastic.api.system.persistence.EnvironmentGroup Maven / Gradle / Ivy
The newest version!
/*Server class MD5: 291ed4689f2ac60cf3fd099057ab0bb1*/
package com.jelastic.api.system.persistence;
import com.jelastic.api.common.Constants;
import com.jelastic.api.development.response.interfaces.ArrayItem;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashSet;
import java.util.Set;
/**
* @name Jelastic API Client
* @version 8.11.2
* @copyright Jelastic, Inc.
*/
public class EnvironmentGroup extends ArrayItem {
public static final String NAME_REGEXP = "^[^\\/=]*$";
public static final String ID = "id";
public static final String UID = "uid";
public static final String OWNER_UID = "ownerUid";
public static final String NAME = "name";
public static final String COLOR = "color";
public static final String ICON = "icon";
public static final String VISIBILITY = "visibility";
public static final String PARENT_ID = "parentId";
public static final String PARENT = "parent";
public static final String IS_ISOLATED = "isIsolated";
public static final String HIERARCHY = "hierarchy";
public static final String ENVIRONMENTS = "environments";
private Integer uid;
private String name;
private String color;
private String icon;
private EnvGroupVisibilityType visibility;
private EnvironmentGroup parent;
private Set environments = new HashSet<>();
private Boolean isIsolated = false;
private String hierarchy;
public EnvironmentGroup() {
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public EnvGroupVisibilityType getVisibility() {
return visibility;
}
public void setVisibility(EnvGroupVisibilityType visibility) {
this.visibility = visibility;
}
public EnvironmentGroup getParent() {
return parent;
}
public void setParent(EnvironmentGroup parent) {
this.parent = parent;
}
public Set getEnvironments() {
return environments;
}
public void setEnvironments(Set environments) {
this.environments = environments;
}
public Boolean isIsolated() {
return isIsolated;
}
public void setIsolated(Boolean isIsolated) {
this.isIsolated = isIsolated;
}
public String getHierarchy() {
return hierarchy;
}
@Override
public JSONObject _toJSON() throws JSONException {
JSONObject json = new JSONObject();
json.put(ID, this.id);
json.put(NAME, getGroupFullName());
json.put(COLOR, color);
json.put(ICON, icon);
json.put(VISIBILITY, visibility.ordinal());
json.put(IS_ISOLATED, isIsolated);
json.putOpt(HIERARCHY, hierarchy != null ? hierarchy : getGroupHierarchy());
json.put(OWNER_UID, uid);
return json;
}
@Override
public EnvironmentGroup _fromJSON(JSONObject json) throws JSONException {
if (json.has(ID)) {
this.id = json.getInt(ID);
}
if (json.has(OWNER_UID)) {
this.uid = json.getInt(OWNER_UID);
}
if (json.has(NAME)) {
this.name = json.getString(NAME);
}
if (json.has(COLOR)) {
this.color = json.getString(COLOR);
}
if (json.has(ICON)) {
this.icon = json.getString(ICON);
}
if (json.has(IS_ISOLATED)) {
this.isIsolated = json.getBoolean(IS_ISOLATED);
}
if (json.has(VISIBILITY)) {
try {
this.visibility = EnvGroupVisibilityType.values()[json.getInt(VISIBILITY)];
} catch (ArrayIndexOutOfBoundsException ex) {
throw new JSONException("Incorrect value of 'visibility' parameter");
}
}
if (json.has(HIERARCHY)) {
this.hierarchy = json.getString(HIERARCHY);
}
return this;
}
public Boolean getIsolated() {
return isIsolated;
}
public EnvironmentGroup cloneTo(EnvironmentGroup cloned) {
cloned.setUid(this.uid);
cloned.setName(this.name);
cloned.setColor(this.color);
cloned.setIcon(this.icon);
cloned.setVisibility(this.getVisibility());
cloned.setIsolated(this.isIsolated);
return cloned;
}
public void copyNotNullableFieldsFrom(EnvironmentGroup sourceGroup) {
if (sourceGroup.color != null) {
this.color = sourceGroup.getColor();
}
if (sourceGroup.icon != null) {
this.icon = sourceGroup.getIcon();
}
if (sourceGroup.visibility != null) {
this.visibility = sourceGroup.getVisibility();
}
}
@Override
public EnvironmentGroup clone() {
EnvironmentGroup cloned = new EnvironmentGroup();
return cloneTo(cloned);
}
private static String getGroupFullName(EnvironmentGroup group) {
if (group.getParent() == null) {
return group.getName();
}
return getGroupFullName(group.getParent()) + Constants.PATH_SEPARATOR + group.getName();
}
public String getGroupFullName() {
return getGroupFullName(this);
}
private static String getGroupHierarchy(EnvironmentGroup group) {
if (group.getParent() == null) {
return group.getId() + "";
}
return getGroupHierarchy(group.getParent()) + Constants.PATH_SEPARATOR + group.getId();
}
private String getGroupHierarchy() {
return getGroupHierarchy(this);
}
@Override
public String toString() {
return "EnvironmentGroup{" + "uid=" + uid + ", name='" + name + '\'' + ", color='" + color + '\'' + ", icon='" + icon + '\'' + ", visibility=" + visibility + ", parent=" + parent + ", environments=" + environments + ", isIsolated=" + isIsolated + '}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy