/*
|
* 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);
|
}
|
}
|
}
|