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

software.amazon.awssdk.services.lexmodelbuilding.model.BotAliasMetadata Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Lex Model Building module holds the client classes that are used for communicating with Amazon Lex Model Building Service

There is a newer version: 2.29.39
Show newest version
/*
 * 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.lexmodelbuilding.model;

import java.io.Serializable;
import java.time.Instant;
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.Consumer;
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;

/**
 * 

* Provides information about a bot alias. *

*/ @Generated("software.amazon.awssdk:codegen") public final class BotAliasMetadata implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField NAME_FIELD = SdkField. builder(MarshallingType.STRING).memberName("name") .getter(getter(BotAliasMetadata::name)).setter(setter(Builder::name)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("name").build()).build(); private static final SdkField DESCRIPTION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("description").getter(getter(BotAliasMetadata::description)).setter(setter(Builder::description)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("description").build()).build(); private static final SdkField BOT_VERSION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("botVersion").getter(getter(BotAliasMetadata::botVersion)).setter(setter(Builder::botVersion)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("botVersion").build()).build(); private static final SdkField BOT_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("botName").getter(getter(BotAliasMetadata::botName)).setter(setter(Builder::botName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("botName").build()).build(); private static final SdkField LAST_UPDATED_DATE_FIELD = SdkField. builder(MarshallingType.INSTANT) .memberName("lastUpdatedDate").getter(getter(BotAliasMetadata::lastUpdatedDate)) .setter(setter(Builder::lastUpdatedDate)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("lastUpdatedDate").build()).build(); private static final SdkField CREATED_DATE_FIELD = SdkField. builder(MarshallingType.INSTANT) .memberName("createdDate").getter(getter(BotAliasMetadata::createdDate)).setter(setter(Builder::createdDate)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("createdDate").build()).build(); private static final SdkField CHECKSUM_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("checksum").getter(getter(BotAliasMetadata::checksum)).setter(setter(Builder::checksum)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("checksum").build()).build(); private static final SdkField CONVERSATION_LOGS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("conversationLogs") .getter(getter(BotAliasMetadata::conversationLogs)).setter(setter(Builder::conversationLogs)) .constructor(ConversationLogsResponse::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("conversationLogs").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(NAME_FIELD, DESCRIPTION_FIELD, BOT_VERSION_FIELD, BOT_NAME_FIELD, LAST_UPDATED_DATE_FIELD, CREATED_DATE_FIELD, CHECKSUM_FIELD, CONVERSATION_LOGS_FIELD)); private static final Map> SDK_NAME_TO_FIELD = Collections .unmodifiableMap(new HashMap>() { { put("name", NAME_FIELD); put("description", DESCRIPTION_FIELD); put("botVersion", BOT_VERSION_FIELD); put("botName", BOT_NAME_FIELD); put("lastUpdatedDate", LAST_UPDATED_DATE_FIELD); put("createdDate", CREATED_DATE_FIELD); put("checksum", CHECKSUM_FIELD); put("conversationLogs", CONVERSATION_LOGS_FIELD); } }); private static final long serialVersionUID = 1L; private final String name; private final String description; private final String botVersion; private final String botName; private final Instant lastUpdatedDate; private final Instant createdDate; private final String checksum; private final ConversationLogsResponse conversationLogs; private BotAliasMetadata(BuilderImpl builder) { this.name = builder.name; this.description = builder.description; this.botVersion = builder.botVersion; this.botName = builder.botName; this.lastUpdatedDate = builder.lastUpdatedDate; this.createdDate = builder.createdDate; this.checksum = builder.checksum; this.conversationLogs = builder.conversationLogs; } /** *

* The name of the bot alias. *

* * @return The name of the bot alias. */ public final String name() { return name; } /** *

* A description of the bot alias. *

* * @return A description of the bot alias. */ public final String description() { return description; } /** *

* The version of the Amazon Lex bot to which the alias points. *

* * @return The version of the Amazon Lex bot to which the alias points. */ public final String botVersion() { return botVersion; } /** *

* The name of the bot to which the alias points. *

* * @return The name of the bot to which the alias points. */ public final String botName() { return botName; } /** *

* The date that the bot alias was updated. When you create a resource, the creation date and last updated date are * the same. *

* * @return The date that the bot alias was updated. When you create a resource, the creation date and last updated * date are the same. */ public final Instant lastUpdatedDate() { return lastUpdatedDate; } /** *

* The date that the bot alias was created. *

* * @return The date that the bot alias was created. */ public final Instant createdDate() { return createdDate; } /** *

* Checksum of the bot alias. *

* * @return Checksum of the bot alias. */ public final String checksum() { return checksum; } /** *

* Settings that determine how Amazon Lex uses conversation logs for the alias. *

* * @return Settings that determine how Amazon Lex uses conversation logs for the alias. */ public final ConversationLogsResponse conversationLogs() { return conversationLogs; } @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 + Objects.hashCode(name()); hashCode = 31 * hashCode + Objects.hashCode(description()); hashCode = 31 * hashCode + Objects.hashCode(botVersion()); hashCode = 31 * hashCode + Objects.hashCode(botName()); hashCode = 31 * hashCode + Objects.hashCode(lastUpdatedDate()); hashCode = 31 * hashCode + Objects.hashCode(createdDate()); hashCode = 31 * hashCode + Objects.hashCode(checksum()); hashCode = 31 * hashCode + Objects.hashCode(conversationLogs()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof BotAliasMetadata)) { return false; } BotAliasMetadata other = (BotAliasMetadata) obj; return Objects.equals(name(), other.name()) && Objects.equals(description(), other.description()) && Objects.equals(botVersion(), other.botVersion()) && Objects.equals(botName(), other.botName()) && Objects.equals(lastUpdatedDate(), other.lastUpdatedDate()) && Objects.equals(createdDate(), other.createdDate()) && Objects.equals(checksum(), other.checksum()) && Objects.equals(conversationLogs(), other.conversationLogs()); } /** * 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("BotAliasMetadata").add("Name", name()).add("Description", description()) .add("BotVersion", botVersion()).add("BotName", botName()).add("LastUpdatedDate", lastUpdatedDate()) .add("CreatedDate", createdDate()).add("Checksum", checksum()).add("ConversationLogs", conversationLogs()) .build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "name": return Optional.ofNullable(clazz.cast(name())); case "description": return Optional.ofNullable(clazz.cast(description())); case "botVersion": return Optional.ofNullable(clazz.cast(botVersion())); case "botName": return Optional.ofNullable(clazz.cast(botName())); case "lastUpdatedDate": return Optional.ofNullable(clazz.cast(lastUpdatedDate())); case "createdDate": return Optional.ofNullable(clazz.cast(createdDate())); case "checksum": return Optional.ofNullable(clazz.cast(checksum())); case "conversationLogs": return Optional.ofNullable(clazz.cast(conversationLogs())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } @Override public final Map> sdkFieldNameToField() { return SDK_NAME_TO_FIELD; } private static Function getter(Function g) { return obj -> g.apply((BotAliasMetadata) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The name of the bot alias. *

* * @param name * The name of the bot alias. * @return Returns a reference to this object so that method calls can be chained together. */ Builder name(String name); /** *

* A description of the bot alias. *

* * @param description * A description of the bot alias. * @return Returns a reference to this object so that method calls can be chained together. */ Builder description(String description); /** *

* The version of the Amazon Lex bot to which the alias points. *

* * @param botVersion * The version of the Amazon Lex bot to which the alias points. * @return Returns a reference to this object so that method calls can be chained together. */ Builder botVersion(String botVersion); /** *

* The name of the bot to which the alias points. *

* * @param botName * The name of the bot to which the alias points. * @return Returns a reference to this object so that method calls can be chained together. */ Builder botName(String botName); /** *

* The date that the bot alias was updated. When you create a resource, the creation date and last updated date * are the same. *

* * @param lastUpdatedDate * The date that the bot alias was updated. When you create a resource, the creation date and last * updated date are the same. * @return Returns a reference to this object so that method calls can be chained together. */ Builder lastUpdatedDate(Instant lastUpdatedDate); /** *

* The date that the bot alias was created. *

* * @param createdDate * The date that the bot alias was created. * @return Returns a reference to this object so that method calls can be chained together. */ Builder createdDate(Instant createdDate); /** *

* Checksum of the bot alias. *

* * @param checksum * Checksum of the bot alias. * @return Returns a reference to this object so that method calls can be chained together. */ Builder checksum(String checksum); /** *

* Settings that determine how Amazon Lex uses conversation logs for the alias. *

* * @param conversationLogs * Settings that determine how Amazon Lex uses conversation logs for the alias. * @return Returns a reference to this object so that method calls can be chained together. */ Builder conversationLogs(ConversationLogsResponse conversationLogs); /** *

* Settings that determine how Amazon Lex uses conversation logs for the alias. *

* This is a convenience method that creates an instance of the {@link ConversationLogsResponse.Builder} * avoiding the need to create one manually via {@link ConversationLogsResponse#builder()}. * *

* When the {@link Consumer} completes, {@link ConversationLogsResponse.Builder#build()} is called immediately * and its result is passed to {@link #conversationLogs(ConversationLogsResponse)}. * * @param conversationLogs * a consumer that will call methods on {@link ConversationLogsResponse.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #conversationLogs(ConversationLogsResponse) */ default Builder conversationLogs(Consumer conversationLogs) { return conversationLogs(ConversationLogsResponse.builder().applyMutation(conversationLogs).build()); } } static final class BuilderImpl implements Builder { private String name; private String description; private String botVersion; private String botName; private Instant lastUpdatedDate; private Instant createdDate; private String checksum; private ConversationLogsResponse conversationLogs; private BuilderImpl() { } private BuilderImpl(BotAliasMetadata model) { name(model.name); description(model.description); botVersion(model.botVersion); botName(model.botName); lastUpdatedDate(model.lastUpdatedDate); createdDate(model.createdDate); checksum(model.checksum); conversationLogs(model.conversationLogs); } public final String getName() { return name; } public final void setName(String name) { this.name = name; } @Override public final Builder name(String name) { this.name = name; return this; } public final String getDescription() { return description; } public final void setDescription(String description) { this.description = description; } @Override public final Builder description(String description) { this.description = description; return this; } public final String getBotVersion() { return botVersion; } public final void setBotVersion(String botVersion) { this.botVersion = botVersion; } @Override public final Builder botVersion(String botVersion) { this.botVersion = botVersion; return this; } public final String getBotName() { return botName; } public final void setBotName(String botName) { this.botName = botName; } @Override public final Builder botName(String botName) { this.botName = botName; return this; } public final Instant getLastUpdatedDate() { return lastUpdatedDate; } public final void setLastUpdatedDate(Instant lastUpdatedDate) { this.lastUpdatedDate = lastUpdatedDate; } @Override public final Builder lastUpdatedDate(Instant lastUpdatedDate) { this.lastUpdatedDate = lastUpdatedDate; return this; } public final Instant getCreatedDate() { return createdDate; } public final void setCreatedDate(Instant createdDate) { this.createdDate = createdDate; } @Override public final Builder createdDate(Instant createdDate) { this.createdDate = createdDate; return this; } public final String getChecksum() { return checksum; } public final void setChecksum(String checksum) { this.checksum = checksum; } @Override public final Builder checksum(String checksum) { this.checksum = checksum; return this; } public final ConversationLogsResponse.Builder getConversationLogs() { return conversationLogs != null ? conversationLogs.toBuilder() : null; } public final void setConversationLogs(ConversationLogsResponse.BuilderImpl conversationLogs) { this.conversationLogs = conversationLogs != null ? conversationLogs.build() : null; } @Override public final Builder conversationLogs(ConversationLogsResponse conversationLogs) { this.conversationLogs = conversationLogs; return this; } @Override public BotAliasMetadata build() { return new BotAliasMetadata(this); } @Override public List> sdkFields() { return SDK_FIELDS; } @Override public Map> sdkFieldNameToField() { return SDK_NAME_TO_FIELD; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy