001 002package com.commercetools.importapi.models.importcontainers; 003 004import java.util.*; 005 006import javax.annotation.Nullable; 007 008import io.vrap.rmf.base.client.Builder; 009import io.vrap.rmf.base.client.utils.Generated; 010 011/** 012 * ImportContainerDraftBuilder 013 * <hr> 014 * Example to create an instance using the builder pattern 015 * <div class=code-example> 016 * <pre><code class='java'> 017 * ImportContainerDraft importContainerDraft = ImportContainerDraft.builder() 018 * .key("{key}") 019 * .build() 020 * </code></pre> 021 * </div> 022 */ 023@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 024public class ImportContainerDraftBuilder implements Builder<ImportContainerDraft> { 025 026 private String key; 027 028 @Nullable 029 private com.commercetools.importapi.models.common.ImportResourceType resourceType; 030 031 /** 032 * <p>User-defined unique identifier of the ImportContainer. Keys can only contain alphanumeric characters (a-Z, 0-9), underscores and hyphens (_, -).</p> 033 * @param key value to be set 034 * @return Builder 035 */ 036 037 public ImportContainerDraftBuilder key(final String key) { 038 this.key = key; 039 return this; 040 } 041 042 /** 043 * <p>The resource type to be imported. If not given, the ImportContainer is able to import all of the supported ImportResourceTypes.</p> 044 * @param resourceType value to be set 045 * @return Builder 046 */ 047 048 public ImportContainerDraftBuilder resourceType( 049 @Nullable final com.commercetools.importapi.models.common.ImportResourceType resourceType) { 050 this.resourceType = resourceType; 051 return this; 052 } 053 054 /** 055 * <p>User-defined unique identifier of the ImportContainer. Keys can only contain alphanumeric characters (a-Z, 0-9), underscores and hyphens (_, -).</p> 056 * @return key 057 */ 058 059 public String getKey() { 060 return this.key; 061 } 062 063 /** 064 * <p>The resource type to be imported. If not given, the ImportContainer is able to import all of the supported ImportResourceTypes.</p> 065 * @return resourceType 066 */ 067 068 @Nullable 069 public com.commercetools.importapi.models.common.ImportResourceType getResourceType() { 070 return this.resourceType; 071 } 072 073 /** 074 * builds ImportContainerDraft with checking for non-null required values 075 * @return ImportContainerDraft 076 */ 077 public ImportContainerDraft build() { 078 Objects.requireNonNull(key, ImportContainerDraft.class + ": key is missing"); 079 return new ImportContainerDraftImpl(key, resourceType); 080 } 081 082 /** 083 * builds ImportContainerDraft without checking for non-null required values 084 * @return ImportContainerDraft 085 */ 086 public ImportContainerDraft buildUnchecked() { 087 return new ImportContainerDraftImpl(key, resourceType); 088 } 089 090 /** 091 * factory method for an instance of ImportContainerDraftBuilder 092 * @return builder 093 */ 094 public static ImportContainerDraftBuilder of() { 095 return new ImportContainerDraftBuilder(); 096 } 097 098 /** 099 * create builder for ImportContainerDraft instance 100 * @param template instance with prefilled values for the builder 101 * @return builder 102 */ 103 public static ImportContainerDraftBuilder of(final ImportContainerDraft template) { 104 ImportContainerDraftBuilder builder = new ImportContainerDraftBuilder(); 105 builder.key = template.getKey(); 106 builder.resourceType = template.getResourceType(); 107 return builder; 108 } 109 110}