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

software.amazon.awssdk.services.schemas.model.ExportSchemaResponse Maven / Gradle / Ivy

/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.schemas.model;

import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public final class ExportSchemaResponse extends SchemasResponse implements
        ToCopyableBuilder {
    private static final SdkField CONTENT_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Content")
            .getter(getter(ExportSchemaResponse::content)).setter(setter(Builder::content))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Content").build()).build();

    private static final SdkField SCHEMA_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("SchemaArn").getter(getter(ExportSchemaResponse::schemaArn)).setter(setter(Builder::schemaArn))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SchemaArn").build()).build();

    private static final SdkField SCHEMA_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("SchemaName").getter(getter(ExportSchemaResponse::schemaName)).setter(setter(Builder::schemaName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SchemaName").build()).build();

    private static final SdkField SCHEMA_VERSION_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("SchemaVersion").getter(getter(ExportSchemaResponse::schemaVersion))
            .setter(setter(Builder::schemaVersion))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SchemaVersion").build()).build();

    private static final SdkField TYPE_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Type")
            .getter(getter(ExportSchemaResponse::type)).setter(setter(Builder::type))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Type").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(CONTENT_FIELD,
            SCHEMA_ARN_FIELD, SCHEMA_NAME_FIELD, SCHEMA_VERSION_FIELD, TYPE_FIELD));

    private static final Map> SDK_NAME_TO_FIELD = memberNameToFieldInitializer();

    private final String content;

    private final String schemaArn;

    private final String schemaName;

    private final String schemaVersion;

    private final String type;

    private ExportSchemaResponse(BuilderImpl builder) {
        super(builder);
        this.content = builder.content;
        this.schemaArn = builder.schemaArn;
        this.schemaName = builder.schemaName;
        this.schemaVersion = builder.schemaVersion;
        this.type = builder.type;
    }

    /**
     * Returns the value of the Content property for this object.
     * 
     * @return The value of the Content property for this object.
     */
    public final String content() {
        return content;
    }

    /**
     * Returns the value of the SchemaArn property for this object.
     * 
     * @return The value of the SchemaArn property for this object.
     */
    public final String schemaArn() {
        return schemaArn;
    }

    /**
     * Returns the value of the SchemaName property for this object.
     * 
     * @return The value of the SchemaName property for this object.
     */
    public final String schemaName() {
        return schemaName;
    }

    /**
     * Returns the value of the SchemaVersion property for this object.
     * 
     * @return The value of the SchemaVersion property for this object.
     */
    public final String schemaVersion() {
        return schemaVersion;
    }

    /**
     * Returns the value of the Type property for this object.
     * 
     * @return The value of the Type property for this object.
     */
    public final String type() {
        return type;
    }

    @Override
    public Builder toBuilder() {
        return new BuilderImpl(this);
    }

    public static Builder builder() {
        return new BuilderImpl();
    }

    public static Class serializableBuilderClass() {
        return BuilderImpl.class;
    }

    @Override
    public final int hashCode() {
        int hashCode = 1;
        hashCode = 31 * hashCode + super.hashCode();
        hashCode = 31 * hashCode + Objects.hashCode(content());
        hashCode = 31 * hashCode + Objects.hashCode(schemaArn());
        hashCode = 31 * hashCode + Objects.hashCode(schemaName());
        hashCode = 31 * hashCode + Objects.hashCode(schemaVersion());
        hashCode = 31 * hashCode + Objects.hashCode(type());
        return hashCode;
    }

    @Override
    public final boolean equals(Object obj) {
        return super.equals(obj) && equalsBySdkFields(obj);
    }

    @Override
    public final boolean equalsBySdkFields(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (!(obj instanceof ExportSchemaResponse)) {
            return false;
        }
        ExportSchemaResponse other = (ExportSchemaResponse) obj;
        return Objects.equals(content(), other.content()) && Objects.equals(schemaArn(), other.schemaArn())
                && Objects.equals(schemaName(), other.schemaName()) && Objects.equals(schemaVersion(), other.schemaVersion())
                && Objects.equals(type(), other.type());
    }

    /**
     * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
     * redacted from this string using a placeholder value.
     */
    @Override
    public final String toString() {
        return ToString.builder("ExportSchemaResponse").add("Content", content()).add("SchemaArn", schemaArn())
                .add("SchemaName", schemaName()).add("SchemaVersion", schemaVersion()).add("Type", type()).build();
    }

    public final  Optional getValueForField(String fieldName, Class clazz) {
        switch (fieldName) {
        case "Content":
            return Optional.ofNullable(clazz.cast(content()));
        case "SchemaArn":
            return Optional.ofNullable(clazz.cast(schemaArn()));
        case "SchemaName":
            return Optional.ofNullable(clazz.cast(schemaName()));
        case "SchemaVersion":
            return Optional.ofNullable(clazz.cast(schemaVersion()));
        case "Type":
            return Optional.ofNullable(clazz.cast(type()));
        default:
            return Optional.empty();
        }
    }

    @Override
    public final List> sdkFields() {
        return SDK_FIELDS;
    }

    @Override
    public final Map> sdkFieldNameToField() {
        return SDK_NAME_TO_FIELD;
    }

    private static Map> memberNameToFieldInitializer() {
        Map> map = new HashMap<>();
        map.put("Content", CONTENT_FIELD);
        map.put("SchemaArn", SCHEMA_ARN_FIELD);
        map.put("SchemaName", SCHEMA_NAME_FIELD);
        map.put("SchemaVersion", SCHEMA_VERSION_FIELD);
        map.put("Type", TYPE_FIELD);
        return Collections.unmodifiableMap(map);
    }

    private static  Function getter(Function g) {
        return obj -> g.apply((ExportSchemaResponse) obj);
    }

    private static  BiConsumer setter(BiConsumer s) {
        return (obj, val) -> s.accept((Builder) obj, val);
    }

    public interface Builder extends SchemasResponse.Builder, SdkPojo, CopyableBuilder {
        /**
         * Sets the value of the Content property for this object.
         *
         * @param content
         *        The new value for the Content property for this object.
         * @return Returns a reference to this object so that method calls can be chained together.
         */
        Builder content(String content);

        /**
         * Sets the value of the SchemaArn property for this object.
         *
         * @param schemaArn
         *        The new value for the SchemaArn property for this object.
         * @return Returns a reference to this object so that method calls can be chained together.
         */
        Builder schemaArn(String schemaArn);

        /**
         * Sets the value of the SchemaName property for this object.
         *
         * @param schemaName
         *        The new value for the SchemaName property for this object.
         * @return Returns a reference to this object so that method calls can be chained together.
         */
        Builder schemaName(String schemaName);

        /**
         * Sets the value of the SchemaVersion property for this object.
         *
         * @param schemaVersion
         *        The new value for the SchemaVersion property for this object.
         * @return Returns a reference to this object so that method calls can be chained together.
         */
        Builder schemaVersion(String schemaVersion);

        /**
         * Sets the value of the Type property for this object.
         *
         * @param type
         *        The new value for the Type property for this object.
         * @return Returns a reference to this object so that method calls can be chained together.
         */
        Builder type(String type);
    }

    static final class BuilderImpl extends SchemasResponse.BuilderImpl implements Builder {
        private String content;

        private String schemaArn;

        private String schemaName;

        private String schemaVersion;

        private String type;

        private BuilderImpl() {
        }

        private BuilderImpl(ExportSchemaResponse model) {
            super(model);
            content(model.content);
            schemaArn(model.schemaArn);
            schemaName(model.schemaName);
            schemaVersion(model.schemaVersion);
            type(model.type);
        }

        public final String getContent() {
            return content;
        }

        public final void setContent(String content) {
            this.content = content;
        }

        @Override
        public final Builder content(String content) {
            this.content = content;
            return this;
        }

        public final String getSchemaArn() {
            return schemaArn;
        }

        public final void setSchemaArn(String schemaArn) {
            this.schemaArn = schemaArn;
        }

        @Override
        public final Builder schemaArn(String schemaArn) {
            this.schemaArn = schemaArn;
            return this;
        }

        public final String getSchemaName() {
            return schemaName;
        }

        public final void setSchemaName(String schemaName) {
            this.schemaName = schemaName;
        }

        @Override
        public final Builder schemaName(String schemaName) {
            this.schemaName = schemaName;
            return this;
        }

        public final String getSchemaVersion() {
            return schemaVersion;
        }

        public final void setSchemaVersion(String schemaVersion) {
            this.schemaVersion = schemaVersion;
        }

        @Override
        public final Builder schemaVersion(String schemaVersion) {
            this.schemaVersion = schemaVersion;
            return this;
        }

        public final String getType() {
            return type;
        }

        public final void setType(String type) {
            this.type = type;
        }

        @Override
        public final Builder type(String type) {
            this.type = type;
            return this;
        }

        @Override
        public ExportSchemaResponse build() {
            return new ExportSchemaResponse(this);
        }

        @Override
        public List> sdkFields() {
            return SDK_FIELDS;
        }

        @Override
        public Map> sdkFieldNameToField() {
            return SDK_NAME_TO_FIELD;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy