
com.huawei.push.android.Button Maven / Gradle / Ivy
/*
* Copyright (c) Huawei Technologies Co., Ltd. 2019-2029. All rights reserved.
*/
package com.huawei.push.android;
import com.alibaba.fastjson.annotation.JSONField;
import com.huawei.push.util.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
/**
* 功能描述
*
* @author l00282963
* @since 2020-01-19
*/
public class Button {
@JSONField(name = "name")
private String name;
@JSONField(name = "action_type")
private Integer actionType;
@JSONField(name = "intent_type")
private Integer intentType;
@JSONField(name = "intent")
private String intent;
@JSONField(name = "data")
private String data;
public String getName() {
return name;
}
public Integer getActionType() {
return actionType;
}
public Integer getIntentType() {
return intentType;
}
public String getIntent() {
return intent;
}
public String getData() {
return data;
}
public Button(Builder builder) {
this.name = builder.name;
this.actionType = builder.actionType;
this.intentType = builder.intentType;
this.intent = builder.intent;
this.data = builder.data;
}
public void check() {
if (this.actionType != null && this.actionType == 4) {
ValidatorUtils.checkArgument(StringUtils.isNotEmpty(this.data), "data is needed when actionType is 4");
}
}
/**
* builder
*/
public static Builder builder() {
return new Builder();
}
public static class Builder {
@JSONField(name = "name")
private String name;
@JSONField(name = "actionType")
private Integer actionType;
@JSONField(name = "intentType")
private Integer intentType;
@JSONField(name = "intent")
private String intent;
@JSONField(name = "data")
private String data;
public Builder setName(String name) {
this.name = name;
return this;
}
public Builder setActionType(Integer actionType) {
this.actionType = actionType;
return this;
}
public Builder setIntentType(Integer intentType) {
this.intentType = intentType;
return this;
}
public Builder setIntent(String intent) {
this.intent = intent;
return this;
}
public Builder setData(String data) {
this.data = data;
return this;
}
public Button build() {
return new Button(this);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy