001 002package com.commercetools.api.models.message; 003 004import java.util.*; 005 006import io.vrap.rmf.base.client.Builder; 007import io.vrap.rmf.base.client.utils.Generated; 008 009/** 010 * MessagesConfigurationDraftBuilder 011 * <hr> 012 * Example to create an instance using the builder pattern 013 * <div class=code-example> 014 * <pre><code class='java'> 015 * MessagesConfigurationDraft messagesConfigurationDraft = MessagesConfigurationDraft.builder() 016 * .enabled(true) 017 * .deleteDaysAfterCreation(0.3) 018 * .build() 019 * </code></pre> 020 * </div> 021 */ 022@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 023public class MessagesConfigurationDraftBuilder implements Builder<MessagesConfigurationDraft> { 024 025 private Boolean enabled; 026 027 private Integer deleteDaysAfterCreation; 028 029 /** 030 * <p>Setting to <code>true</code> activates the Messages Query feature.</p> 031 * @param enabled value to be set 032 * @return Builder 033 */ 034 035 public MessagesConfigurationDraftBuilder enabled(final Boolean enabled) { 036 this.enabled = enabled; 037 return this; 038 } 039 040 /** 041 * <p>Specifies the number of days each Message should be available via the Messages Query API. For Messages older than the specified period, it is not guaranteed that they are still accessible via the API.</p> 042 * @param deleteDaysAfterCreation value to be set 043 * @return Builder 044 */ 045 046 public MessagesConfigurationDraftBuilder deleteDaysAfterCreation(final Integer deleteDaysAfterCreation) { 047 this.deleteDaysAfterCreation = deleteDaysAfterCreation; 048 return this; 049 } 050 051 /** 052 * <p>Setting to <code>true</code> activates the Messages Query feature.</p> 053 * @return enabled 054 */ 055 056 public Boolean getEnabled() { 057 return this.enabled; 058 } 059 060 /** 061 * <p>Specifies the number of days each Message should be available via the Messages Query API. For Messages older than the specified period, it is not guaranteed that they are still accessible via the API.</p> 062 * @return deleteDaysAfterCreation 063 */ 064 065 public Integer getDeleteDaysAfterCreation() { 066 return this.deleteDaysAfterCreation; 067 } 068 069 /** 070 * builds MessagesConfigurationDraft with checking for non-null required values 071 * @return MessagesConfigurationDraft 072 */ 073 public MessagesConfigurationDraft build() { 074 Objects.requireNonNull(enabled, MessagesConfigurationDraft.class + ": enabled is missing"); 075 Objects.requireNonNull(deleteDaysAfterCreation, 076 MessagesConfigurationDraft.class + ": deleteDaysAfterCreation is missing"); 077 return new MessagesConfigurationDraftImpl(enabled, deleteDaysAfterCreation); 078 } 079 080 /** 081 * builds MessagesConfigurationDraft without checking for non-null required values 082 * @return MessagesConfigurationDraft 083 */ 084 public MessagesConfigurationDraft buildUnchecked() { 085 return new MessagesConfigurationDraftImpl(enabled, deleteDaysAfterCreation); 086 } 087 088 /** 089 * factory method for an instance of MessagesConfigurationDraftBuilder 090 * @return builder 091 */ 092 public static MessagesConfigurationDraftBuilder of() { 093 return new MessagesConfigurationDraftBuilder(); 094 } 095 096 /** 097 * create builder for MessagesConfigurationDraft instance 098 * @param template instance with prefilled values for the builder 099 * @return builder 100 */ 101 public static MessagesConfigurationDraftBuilder of(final MessagesConfigurationDraft template) { 102 MessagesConfigurationDraftBuilder builder = new MessagesConfigurationDraftBuilder(); 103 builder.enabled = template.getEnabled(); 104 builder.deleteDaysAfterCreation = template.getDeleteDaysAfterCreation(); 105 return builder; 106 } 107 108}