All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.rocketbase.commons.email.HeaderConfig Maven / Gradle / Ivy

The newest version!
package io.rocketbase.commons.email;

import io.rocketbase.commons.colors.ColorPalette;
import io.rocketbase.commons.email.EmailTemplateBuilder.EmailTemplateConfigBuilder;
import io.rocketbase.commons.email.model.HtmlTextEmail;
import io.rocketbase.commons.email.template.Alignment;
import io.rocketbase.commons.email.template.ColorStyle;
import lombok.AccessLevel;
import lombok.Getter;

@Getter
public class HeaderConfig {

    final String title;
    ColorStyle color = ColorStyle.BASE_STYLE;
    Alignment alignment = Alignment.CENTER;

    @Getter(AccessLevel.PRIVATE)
    EmailTemplateConfigBuilder builder;

    HeaderConfig(EmailTemplateConfigBuilder builder, String title) {
        this.builder = builder;

        this.title = title;
    }

    public HeaderConfig color(ColorStyle color) {
        this.color = color;
        return this;
    }

    public HeaderConfig color(ColorPalette colorPalette) {
        this.color = new ColorStyle(colorPalette);
        return this;
    }

    public HeaderConfig alignment(Alignment alignment) {
        this.alignment = alignment;
        return this;
    }

    public HeaderConfig left() {
        this.alignment = Alignment.LEFT;
        return this;
    }

    public HeaderConfig center() {
        this.alignment = Alignment.CENTER;
        return this;
    }

    public HeaderConfig right() {
        this.alignment = Alignment.RIGHT;
        return this;
    }

    public EmailTemplateConfigBuilder and() {
        return builder;
    }

    public HtmlTextEmail build() {
        return builder.build();
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy