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

io.sphere.sdk.shippingmethods.ShippingMethodDraftDsl Maven / Gradle / Ivy

There is a newer version: 2.16.0
Show newest version
/*
This class has been generated by class io.sphere.sdk.annotations.processors.ResourceDraftValueAnnotationProcessor
induced by the annotation io.sphere.sdk.annotations.ResourceDraftValue.
in the source class io.sphere.sdk.shippingmethods.ShippingMethodDraft.

*/
package io.sphere.sdk.shippingmethods;

import javax.annotation.Nullable;
import io.sphere.sdk.models.*;
import java.util.*;
import io.sphere.sdk.utils.*;
import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.sphere.sdk.shippingmethods.ShippingMethodDraftBuilder;


public final class ShippingMethodDraftDsl extends io.sphere.sdk.models.Base implements ShippingMethodDraft {
    private     final java.lang.String name;
    @Nullable()
    private     final java.lang.String description;
    private     final io.sphere.sdk.models.Reference taxCategory;
    private     final java.util.List zoneRates;
    @JsonProperty("isDefault")
    private     final java.lang.Boolean _default;

    @JsonCreator()
    ShippingMethodDraftDsl(@com.fasterxml.jackson.annotation.JsonProperty("isDefault") final java.lang.Boolean _default, final java.lang.String description, final java.lang.String name, final io.sphere.sdk.models.Reference taxCategory, final java.util.List zoneRates) {
        
        this._default = _default;
        this.description = description;
        this.name = name;
        this.taxCategory = taxCategory;
        this.zoneRates = zoneRates;
        
}
    
    
    @JsonProperty("isDefault")
    public java.lang.Boolean isDefault() {
        return _default;
}
    
    @Nullable()
    public java.lang.String getDescription() {
        return description;
}
    
    public java.lang.String getName() {
        return name;
}
    
    public io.sphere.sdk.models.Reference getTaxCategory() {
        return taxCategory;
}
    
    public java.util.List getZoneRates() {
        return zoneRates;
}
    
    public ShippingMethodDraftDsl withName(final java.lang.String name) {
        return newBuilder().name(name).build();
}
    
    public ShippingMethodDraftDsl withDescription(@Nullable() final java.lang.String description) {
        return newBuilder().description(description).build();
}
    
    public ShippingMethodDraftDsl withTaxCategory(final io.sphere.sdk.models.Referenceable taxCategory) {
        return newBuilder().taxCategory(Optional.ofNullable(taxCategory).map(Referenceable::toReference).orElse(null)).build();
}
    
    public ShippingMethodDraftDsl withZoneRates(final java.util.List zoneRates) {
        return newBuilder().zoneRates(zoneRates).build();
}
    
    public ShippingMethodDraftDsl withDefault(final java.lang.Boolean _default) {
        return newBuilder()._default(_default).build();
}
    
    public ShippingMethodDraftDsl withIsDefault(final java.lang.Boolean _default) {
        return newBuilder()._default(_default).build();
}
    
    private ShippingMethodDraftBuilder newBuilder() {
        return new ShippingMethodDraftBuilder(_default, description, name, taxCategory, zoneRates);
}
    
    public static ShippingMethodDraftDsl of(final java.lang.String name, final java.lang.String description, final io.sphere.sdk.models.Reference taxCategory, final java.util.List zoneRates, final java.lang.Boolean _default) {
        return new ShippingMethodDraftDsl(_default, description, name, taxCategory, zoneRates);
}
    
    public static ShippingMethodDraftDsl of(final java.lang.String name, final io.sphere.sdk.models.Reference taxCategory, final java.util.List zoneRates, final java.lang.Boolean _default) {
        return new ShippingMethodDraftDsl(_default, null, name, taxCategory, zoneRates);
}
    
    public static ShippingMethodDraftDsl of(final ShippingMethodDraft template) {
        return new ShippingMethodDraftDsl(template.isDefault(), template.getDescription(), template.getName(), template.getTaxCategory(), template.getZoneRates());
}
    
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy