com.alogic.kube.model.CommonObject Maven / Gradle / Ivy
package com.alogic.kube.model;
import com.anysoft.util.JsonTools;
import io.kubernetes.client.common.KubernetesObject;
import io.kubernetes.client.openapi.models.V1ObjectMeta;
import java.util.Map;
import java.util.TreeMap;
/**
* 通用k8s对象
*/
public class CommonObject extends TreeMap implements KubernetesObject {
public static final String SERIALIZED_NAME_API_VERSION = "apiVersion";
public static final String SERIALIZED_NAME_KIND = "kind";
public static final String SERIALIZED_NAME_METADATA = "metadata";
private V1ObjectMeta metadata = null;
@Override
public V1ObjectMeta getMetadata() {
if (metadata == null){
synchronized (this){
if (metadata == null){
Map meta = (Map)get(SERIALIZED_NAME_METADATA);
if (meta != null){
metadata = new V1ObjectMeta();
metadata.setNamespace(JsonTools.getString(meta,V1ObjectMeta.SERIALIZED_NAME_NAMESPACE,null));
metadata.setName(JsonTools.getString(meta,V1ObjectMeta.SERIALIZED_NAME_NAME,null));
metadata.setResourceVersion(JsonTools.getString(meta,V1ObjectMeta.SERIALIZED_NAME_RESOURCE_VERSION,null));
}
}
}
}
return metadata;
}
@Override
public String getApiVersion() {
return JsonTools.getString(this,SERIALIZED_NAME_API_VERSION,null);
}
@Override
public String getKind() {
return JsonTools.getString(this,SERIALIZED_NAME_KIND,null);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy