package com.psddev.cms.rte;
import java.util.Map;
import java.util.Objects;
public abstract class RichTextToolbarButton extends AbstractRichTextToolbarItem {
protected String text;
protected String cssClass;
protected String tooltip;
public String getText() {
return text;
}
public String getCssClass() {
return cssClass;
}
public String getTooltip() {
return tooltip;
}
@Override
public Map<String, Object> toMap() {
Map<String, Object> map = super.toMap();
map.put("text", getText());
map.put("className", getCssClass());
map.put("tooltip", getTooltip());
return map;
}
protected abstract static class ButtonBuilder<B extends ButtonBuilder<B, I>, I extends RichTextToolbarButton> extends ItemBuilder<B, I> {
protected ButtonBuilder(I item) {
super(item);
}
@SuppressWarnings("unchecked")
public B text(String text) {
item.text = text;
return (B) this;
}
@SuppressWarnings("unchecked")
public B cssClass(String cssClass) {
item.cssClass = cssClass;
return (B) this;
}
@SuppressWarnings("unchecked")
public B tooltip(String tooltip) {
item.tooltip = tooltip;
return (B) this;
}
@Override
protected void verify() {
Objects.requireNonNull(item.text);
Objects.requireNonNull(item.cssClass);
}
}
}