package com.ctrip.framework.apollo.portal.listener;
import com.ctrip.framework.apollo.core.enums.Env;
import org.springframework.context.ApplicationEvent;
public class ConfigPublishEvent extends ApplicationEvent {
private ConfigPublishInfo configPublishInfo;
public ConfigPublishEvent(Object source) {
super(source);
configPublishInfo = (ConfigPublishInfo) source;
}
public static ConfigPublishEvent instance() {
ConfigPublishInfo info = new ConfigPublishInfo();
return new ConfigPublishEvent(info);
}
public ConfigPublishInfo getConfigPublishInfo(){
return configPublishInfo;
}
public ConfigPublishEvent withAppId(String appId) {
configPublishInfo.setAppId(appId);
return this;
}
public ConfigPublishEvent withCluster(String clusterName) {
configPublishInfo.setClusterName(clusterName);
return this;
}
public ConfigPublishEvent withNamespace(String namespaceName) {
configPublishInfo.setNamespaceName(namespaceName);
return this;
}
public ConfigPublishEvent withReleaseId(long releaseId){
configPublishInfo.setReleaseId(releaseId);
return this;
}
public ConfigPublishEvent withPreviousReleaseId(long previousReleaseId){
configPublishInfo.setPreviousReleaseId(previousReleaseId);
return this;
}
public ConfigPublishEvent setNormalPublishEvent(boolean isNormalPublishEvent) {
configPublishInfo.setNormalPublishEvent(isNormalPublishEvent);
return this;
}
public ConfigPublishEvent setGrayPublishEvent(boolean isGrayPublishEvent) {
configPublishInfo.setGrayPublishEvent(isGrayPublishEvent);
return this;
}
public ConfigPublishEvent setRollbackEvent(boolean isRollbackEvent) {
configPublishInfo.setRollbackEvent(isRollbackEvent);
return this;
}
public ConfigPublishEvent setMergeEvent(boolean isMergeEvent) {
configPublishInfo.setMergeEvent(isMergeEvent);
return this;
}
public ConfigPublishEvent setEnv(Env env) {
configPublishInfo.setEnv(env);
return this;
}
public static class ConfigPublishInfo {
private Env env;
private String appId;
private String clusterName;
private String namespaceName;
private long releaseId;
private long previousReleaseId;
private boolean isRollbackEvent;
private boolean isMergeEvent;
private boolean isNormalPublishEvent;
private boolean isGrayPublishEvent;
public Env getEnv() {
return env;
}
public void setEnv(Env env) {
this.env = env;
}
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
public String getClusterName() {
return clusterName;
}
public void setClusterName(String clusterName) {
this.clusterName = clusterName;
}
public String getNamespaceName() {
return namespaceName;
}
public void setNamespaceName(String namespaceName) {
this.namespaceName = namespaceName;
}
public long getReleaseId() {
return releaseId;
}
public void setReleaseId(long releaseId) {
this.releaseId = releaseId;
}
public long getPreviousReleaseId() {
return previousReleaseId;
}
public void setPreviousReleaseId(long previousReleaseId) {
this.previousReleaseId = previousReleaseId;
}
public boolean isRollbackEvent() {
return isRollbackEvent;
}
public void setRollbackEvent(boolean rollbackEvent) {
isRollbackEvent = rollbackEvent;
}
public boolean isMergeEvent() {
return isMergeEvent;
}
public void setMergeEvent(boolean mergeEvent) {
isMergeEvent = mergeEvent;
}
public boolean isNormalPublishEvent() {
return isNormalPublishEvent;
}
public void setNormalPublishEvent(boolean normalPublishEvent) {
isNormalPublishEvent = normalPublishEvent;
}
public boolean isGrayPublishEvent() {
return isGrayPublishEvent;
}
public void setGrayPublishEvent(boolean grayPublishEvent) {
isGrayPublishEvent = grayPublishEvent;
}
}
}