001 002package com.commercetools.api.models.product; 003 004import java.util.*; 005 006import io.vrap.rmf.base.client.Builder; 007import io.vrap.rmf.base.client.utils.Generated; 008 009/** 010 * ProductVariantChannelAvailabilityMapBuilder 011 * <hr> 012 * Example to create an instance using the builder pattern 013 * <div class=code-example> 014 * <pre><code class='java'> 015 * ProductVariantChannelAvailabilityMap productVariantChannelAvailabilityMap = ProductVariantChannelAvailabilityMap.builder() 016 * .//(//Builder -> //Builder) 017 * .build() 018 * </code></pre> 019 * </div> 020 */ 021@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 022public class ProductVariantChannelAvailabilityMapBuilder implements Builder<ProductVariantChannelAvailabilityMap> { 023 024 private Map<String, com.commercetools.api.models.product.ProductVariantChannelAvailability> values = new HashMap<>(); 025 026 /** 027 * assign pattern properties to the builder 028 * @param values properties to be set 029 * @return Builder 030 */ 031 032 public ProductVariantChannelAvailabilityMapBuilder values( 033 final Map<String, com.commercetools.api.models.product.ProductVariantChannelAvailability> values) { 034 this.values = values; 035 return this; 036 } 037 038 /** 039 * assign a pattern property to the builder 040 * @param key property name 041 * @param value property value 042 * @return Builder 043 */ 044 045 public ProductVariantChannelAvailabilityMapBuilder addValue(final String key, 046 final com.commercetools.api.models.product.ProductVariantChannelAvailability value) { 047 if (this.values == null) { 048 values = new HashMap<>(); 049 } 050 values.put(key, value); 051 return this; 052 } 053 054 /** 055 * values of pattern properties 056 * @return pattern properties 057 */ 058 059 public Map<String, com.commercetools.api.models.product.ProductVariantChannelAvailability> getValues() { 060 return this.values; 061 } 062 063 /** 064 * builds ProductVariantChannelAvailabilityMap with checking for non-null required values 065 * @return ProductVariantChannelAvailabilityMap 066 */ 067 public ProductVariantChannelAvailabilityMap build() { 068 return new ProductVariantChannelAvailabilityMapImpl(values); 069 } 070 071 /** 072 * builds ProductVariantChannelAvailabilityMap without checking for non-null required values 073 * @return ProductVariantChannelAvailabilityMap 074 */ 075 public ProductVariantChannelAvailabilityMap buildUnchecked() { 076 return new ProductVariantChannelAvailabilityMapImpl(values); 077 } 078 079 /** 080 * factory method for an instance of ProductVariantChannelAvailabilityMapBuilder 081 * @return builder 082 */ 083 public static ProductVariantChannelAvailabilityMapBuilder of() { 084 return new ProductVariantChannelAvailabilityMapBuilder(); 085 } 086 087 /** 088 * create builder for ProductVariantChannelAvailabilityMap instance 089 * @param template instance with prefilled values for the builder 090 * @return builder 091 */ 092 public static ProductVariantChannelAvailabilityMapBuilder of(final ProductVariantChannelAvailabilityMap template) { 093 ProductVariantChannelAvailabilityMapBuilder builder = new ProductVariantChannelAvailabilityMapBuilder(); 094 builder.values = template.values(); 095 return builder; 096 } 097 098}