![JAR search and dependency download from the Maven repository](/logo.png)
com.github.messenger4j.messengerprofile.MessengerSettings Maven / Gradle / Ivy
package com.github.messenger4j.messengerprofile;
import com.github.messenger4j.internal.Lists;
import com.github.messenger4j.messengerprofile.getstarted.StartButton;
import com.github.messenger4j.messengerprofile.greeting.Greeting;
import com.github.messenger4j.messengerprofile.homeurl.HomeUrl;
import com.github.messenger4j.messengerprofile.persistentmenu.PersistentMenu;
import com.github.messenger4j.messengerprofile.targetaudience.TargetAudience;
import java.net.URL;
import java.util.List;
import java.util.Optional;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
import lombok.ToString;
/**
* @author Max Grabenhorst
* @since 1.0.0
*/
@ToString
@EqualsAndHashCode
public final class MessengerSettings {
private final Optional startButton;
private final Optional greeting;
private final Optional persistentMenu;
private final Optional> whitelistedDomains;
private final Optional accountLinkingUrl;
private final Optional homeUrl;
private final Optional targetAudience;
public static MessengerSettings create(@NonNull Optional startButton,
@NonNull Optional greeting,
@NonNull Optional persistentMenu,
@NonNull Optional> whitelistedDomains,
@NonNull Optional accountLinkingUrl,
@NonNull Optional homeUrl,
@NonNull Optional targetAudience) {
return new MessengerSettings(startButton, greeting, persistentMenu, whitelistedDomains, accountLinkingUrl,
homeUrl, targetAudience);
}
private MessengerSettings(Optional startButton,
Optional greeting,
Optional persistentMenu,
Optional> whitelistedDomains,
Optional accountLinkingUrl,
Optional homeUrl,
Optional targetAudience) {
this.startButton = startButton;
this.greeting = greeting;
this.persistentMenu = persistentMenu;
this.whitelistedDomains = whitelistedDomains.map(Lists::immutableList);
this.accountLinkingUrl = accountLinkingUrl;
this.homeUrl = homeUrl;
this.targetAudience = targetAudience;
}
public Optional startButton() {
return startButton;
}
public Optional greeting() {
return greeting;
}
public Optional persistentMenu() {
return persistentMenu;
}
public Optional> whitelistedDomains() {
return whitelistedDomains;
}
public Optional accountLinkingUrl() {
return accountLinkingUrl;
}
public Optional homeUrl() {
return homeUrl;
}
public Optional targetAudience() {
return targetAudience;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy