Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
software.amazon.awssdk.services.alexaforbusiness.model.SkillDetails Maven / Gradle / Ivy
Go to download
The AWS Java SDK for Alexa For Business module holds the client classes that are used for communicating
with Alexa For Business Service
/*
* 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.alexaforbusiness.model;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
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.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
* Granular information about the skill.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class SkillDetails implements SdkPojo, Serializable, ToCopyableBuilder {
private static final SdkField PRODUCT_DESCRIPTION_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ProductDescription").getter(getter(SkillDetails::productDescription))
.setter(setter(Builder::productDescription))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ProductDescription").build())
.build();
private static final SdkField INVOCATION_PHRASE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("InvocationPhrase").getter(getter(SkillDetails::invocationPhrase))
.setter(setter(Builder::invocationPhrase))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("InvocationPhrase").build()).build();
private static final SdkField RELEASE_DATE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ReleaseDate").getter(getter(SkillDetails::releaseDate)).setter(setter(Builder::releaseDate))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReleaseDate").build()).build();
private static final SdkField END_USER_LICENSE_AGREEMENT_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EndUserLicenseAgreement").getter(getter(SkillDetails::endUserLicenseAgreement))
.setter(setter(Builder::endUserLicenseAgreement))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EndUserLicenseAgreement").build())
.build();
private static final SdkField> GENERIC_KEYWORDS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("GenericKeywords")
.getter(getter(SkillDetails::genericKeywords))
.setter(setter(Builder::genericKeywords))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("GenericKeywords").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField> BULLET_POINTS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("BulletPoints")
.getter(getter(SkillDetails::bulletPoints))
.setter(setter(Builder::bulletPoints))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("BulletPoints").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField> NEW_IN_THIS_VERSION_BULLET_POINTS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("NewInThisVersionBulletPoints")
.getter(getter(SkillDetails::newInThisVersionBulletPoints))
.setter(setter(Builder::newInThisVersionBulletPoints))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NewInThisVersionBulletPoints")
.build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField> SKILL_TYPES_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("SkillTypes")
.getter(getter(SkillDetails::skillTypes))
.setter(setter(Builder::skillTypes))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SkillTypes").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField> REVIEWS_FIELD = SdkField
.> builder(MarshallingType.MAP)
.memberName("Reviews")
.getter(getter(SkillDetails::reviews))
.setter(setter(Builder::reviews))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Reviews").build(),
MapTrait.builder()
.keyLocationName("key")
.valueLocationName("value")
.valueFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("value").build()).build()).build()).build();
private static final SdkField DEVELOPER_INFO_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("DeveloperInfo")
.getter(getter(SkillDetails::developerInfo)).setter(setter(Builder::developerInfo))
.constructor(DeveloperInfo::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DeveloperInfo").build()).build();
private static final List> SDK_FIELDS = Collections
.unmodifiableList(Arrays.asList(PRODUCT_DESCRIPTION_FIELD, INVOCATION_PHRASE_FIELD, RELEASE_DATE_FIELD,
END_USER_LICENSE_AGREEMENT_FIELD, GENERIC_KEYWORDS_FIELD, BULLET_POINTS_FIELD,
NEW_IN_THIS_VERSION_BULLET_POINTS_FIELD, SKILL_TYPES_FIELD, REVIEWS_FIELD, DEVELOPER_INFO_FIELD));
private static final long serialVersionUID = 1L;
private final String productDescription;
private final String invocationPhrase;
private final String releaseDate;
private final String endUserLicenseAgreement;
private final List genericKeywords;
private final List bulletPoints;
private final List newInThisVersionBulletPoints;
private final List skillTypes;
private final Map reviews;
private final DeveloperInfo developerInfo;
private SkillDetails(BuilderImpl builder) {
this.productDescription = builder.productDescription;
this.invocationPhrase = builder.invocationPhrase;
this.releaseDate = builder.releaseDate;
this.endUserLicenseAgreement = builder.endUserLicenseAgreement;
this.genericKeywords = builder.genericKeywords;
this.bulletPoints = builder.bulletPoints;
this.newInThisVersionBulletPoints = builder.newInThisVersionBulletPoints;
this.skillTypes = builder.skillTypes;
this.reviews = builder.reviews;
this.developerInfo = builder.developerInfo;
}
/**
*
* The description of the product.
*
*
* @return The description of the product.
*/
public final String productDescription() {
return productDescription;
}
/**
*
* The phrase used to trigger the skill.
*
*
* @return The phrase used to trigger the skill.
*/
public final String invocationPhrase() {
return invocationPhrase;
}
/**
*
* The date when the skill was released.
*
*
* @return The date when the skill was released.
*/
public final String releaseDate() {
return releaseDate;
}
/**
*
* The URL of the end user license agreement.
*
*
* @return The URL of the end user license agreement.
*/
public final String endUserLicenseAgreement() {
return endUserLicenseAgreement;
}
/**
* For responses, this returns true if the service returned a value for the GenericKeywords property. This DOES NOT
* check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasGenericKeywords() {
return genericKeywords != null && !(genericKeywords instanceof SdkAutoConstructList);
}
/**
*
* The generic keywords associated with the skill that can be used to find a skill.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasGenericKeywords} method.
*
*
* @return The generic keywords associated with the skill that can be used to find a skill.
*/
public final List genericKeywords() {
return genericKeywords;
}
/**
* For responses, this returns true if the service returned a value for the BulletPoints property. This DOES NOT
* check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasBulletPoints() {
return bulletPoints != null && !(bulletPoints instanceof SdkAutoConstructList);
}
/**
*
* The details about what the skill supports organized as bullet points.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasBulletPoints} method.
*
*
* @return The details about what the skill supports organized as bullet points.
*/
public final List bulletPoints() {
return bulletPoints;
}
/**
* For responses, this returns true if the service returned a value for the NewInThisVersionBulletPoints property.
* This DOES NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the
* property). This is useful because the SDK will never return a null collection or map, but you may need to
* differentiate between the service returning nothing (or null) and the service returning an empty collection or
* map. For requests, this returns true if a value for the property was specified in the request builder, and false
* if a value was not specified.
*/
public final boolean hasNewInThisVersionBulletPoints() {
return newInThisVersionBulletPoints != null && !(newInThisVersionBulletPoints instanceof SdkAutoConstructList);
}
/**
*
* The updates added in bullet points.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasNewInThisVersionBulletPoints} method.
*
*
* @return The updates added in bullet points.
*/
public final List newInThisVersionBulletPoints() {
return newInThisVersionBulletPoints;
}
/**
* For responses, this returns true if the service returned a value for the SkillTypes property. This DOES NOT check
* that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is
* useful because the SDK will never return a null collection or map, but you may need to differentiate between the
* service returning nothing (or null) and the service returning an empty collection or map. For requests, this
* returns true if a value for the property was specified in the request builder, and false if a value was not
* specified.
*/
public final boolean hasSkillTypes() {
return skillTypes != null && !(skillTypes instanceof SdkAutoConstructList);
}
/**
*
* The types of skills.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasSkillTypes} method.
*
*
* @return The types of skills.
*/
public final List skillTypes() {
return skillTypes;
}
/**
* For responses, this returns true if the service returned a value for the Reviews property. This DOES NOT check
* that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is
* useful because the SDK will never return a null collection or map, but you may need to differentiate between the
* service returning nothing (or null) and the service returning an empty collection or map. For requests, this
* returns true if a value for the property was specified in the request builder, and false if a value was not
* specified.
*/
public final boolean hasReviews() {
return reviews != null && !(reviews instanceof SdkAutoConstructMap);
}
/**
*
* This member has been deprecated.
*
*
* The list of reviews for the skill, including Key and Value pair.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasReviews} method.
*
*
* @return This member has been deprecated.
*
* The list of reviews for the skill, including Key and Value pair.
*/
public final Map reviews() {
return reviews;
}
/**
*
* The details about the developer that published the skill.
*
*
* @return The details about the developer that published the skill.
*/
public final DeveloperInfo developerInfo() {
return developerInfo;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + Objects.hashCode(productDescription());
hashCode = 31 * hashCode + Objects.hashCode(invocationPhrase());
hashCode = 31 * hashCode + Objects.hashCode(releaseDate());
hashCode = 31 * hashCode + Objects.hashCode(endUserLicenseAgreement());
hashCode = 31 * hashCode + Objects.hashCode(hasGenericKeywords() ? genericKeywords() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasBulletPoints() ? bulletPoints() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasNewInThisVersionBulletPoints() ? newInThisVersionBulletPoints() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasSkillTypes() ? skillTypes() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasReviews() ? reviews() : null);
hashCode = 31 * hashCode + Objects.hashCode(developerInfo());
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 SkillDetails)) {
return false;
}
SkillDetails other = (SkillDetails) obj;
return Objects.equals(productDescription(), other.productDescription())
&& Objects.equals(invocationPhrase(), other.invocationPhrase())
&& Objects.equals(releaseDate(), other.releaseDate())
&& Objects.equals(endUserLicenseAgreement(), other.endUserLicenseAgreement())
&& hasGenericKeywords() == other.hasGenericKeywords()
&& Objects.equals(genericKeywords(), other.genericKeywords()) && hasBulletPoints() == other.hasBulletPoints()
&& Objects.equals(bulletPoints(), other.bulletPoints())
&& hasNewInThisVersionBulletPoints() == other.hasNewInThisVersionBulletPoints()
&& Objects.equals(newInThisVersionBulletPoints(), other.newInThisVersionBulletPoints())
&& hasSkillTypes() == other.hasSkillTypes() && Objects.equals(skillTypes(), other.skillTypes())
&& hasReviews() == other.hasReviews() && Objects.equals(reviews(), other.reviews())
&& Objects.equals(developerInfo(), other.developerInfo());
}
/**
* 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("SkillDetails").add("ProductDescription", productDescription())
.add("InvocationPhrase", invocationPhrase()).add("ReleaseDate", releaseDate())
.add("EndUserLicenseAgreement", endUserLicenseAgreement())
.add("GenericKeywords", hasGenericKeywords() ? genericKeywords() : null)
.add("BulletPoints", hasBulletPoints() ? bulletPoints() : null)
.add("NewInThisVersionBulletPoints", hasNewInThisVersionBulletPoints() ? newInThisVersionBulletPoints() : null)
.add("SkillTypes", hasSkillTypes() ? skillTypes() : null).add("Reviews", hasReviews() ? reviews() : null)
.add("DeveloperInfo", developerInfo()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "ProductDescription":
return Optional.ofNullable(clazz.cast(productDescription()));
case "InvocationPhrase":
return Optional.ofNullable(clazz.cast(invocationPhrase()));
case "ReleaseDate":
return Optional.ofNullable(clazz.cast(releaseDate()));
case "EndUserLicenseAgreement":
return Optional.ofNullable(clazz.cast(endUserLicenseAgreement()));
case "GenericKeywords":
return Optional.ofNullable(clazz.cast(genericKeywords()));
case "BulletPoints":
return Optional.ofNullable(clazz.cast(bulletPoints()));
case "NewInThisVersionBulletPoints":
return Optional.ofNullable(clazz.cast(newInThisVersionBulletPoints()));
case "SkillTypes":
return Optional.ofNullable(clazz.cast(skillTypes()));
case "Reviews":
return Optional.ofNullable(clazz.cast(reviews()));
case "DeveloperInfo":
return Optional.ofNullable(clazz.cast(developerInfo()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((SkillDetails) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends SdkPojo, CopyableBuilder {
/**
*
* The description of the product.
*
*
* @param productDescription
* The description of the product.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder productDescription(String productDescription);
/**
*
* The phrase used to trigger the skill.
*
*
* @param invocationPhrase
* The phrase used to trigger the skill.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder invocationPhrase(String invocationPhrase);
/**
*
* The date when the skill was released.
*
*
* @param releaseDate
* The date when the skill was released.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder releaseDate(String releaseDate);
/**
*
* The URL of the end user license agreement.
*
*
* @param endUserLicenseAgreement
* The URL of the end user license agreement.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder endUserLicenseAgreement(String endUserLicenseAgreement);
/**
*
* The generic keywords associated with the skill that can be used to find a skill.
*
*
* @param genericKeywords
* The generic keywords associated with the skill that can be used to find a skill.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder genericKeywords(Collection genericKeywords);
/**
*
* The generic keywords associated with the skill that can be used to find a skill.
*
*
* @param genericKeywords
* The generic keywords associated with the skill that can be used to find a skill.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder genericKeywords(String... genericKeywords);
/**
*
* The details about what the skill supports organized as bullet points.
*
*
* @param bulletPoints
* The details about what the skill supports organized as bullet points.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder bulletPoints(Collection bulletPoints);
/**
*
* The details about what the skill supports organized as bullet points.
*
*
* @param bulletPoints
* The details about what the skill supports organized as bullet points.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder bulletPoints(String... bulletPoints);
/**
*
* The updates added in bullet points.
*
*
* @param newInThisVersionBulletPoints
* The updates added in bullet points.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder newInThisVersionBulletPoints(Collection newInThisVersionBulletPoints);
/**
*
* The updates added in bullet points.
*
*
* @param newInThisVersionBulletPoints
* The updates added in bullet points.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder newInThisVersionBulletPoints(String... newInThisVersionBulletPoints);
/**
*
* The types of skills.
*
*
* @param skillTypes
* The types of skills.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder skillTypes(Collection skillTypes);
/**
*
* The types of skills.
*
*
* @param skillTypes
* The types of skills.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder skillTypes(String... skillTypes);
/**
*
* This member has been deprecated.
*
*
* The list of reviews for the skill, including Key and Value pair.
*
*
* @param reviews
* This member has been deprecated.
*
* The list of reviews for the skill, including Key and Value pair.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder reviews(Map reviews);
/**
*
* The details about the developer that published the skill.
*
*
* @param developerInfo
* The details about the developer that published the skill.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder developerInfo(DeveloperInfo developerInfo);
/**
*
* The details about the developer that published the skill.
*
* This is a convenience method that creates an instance of the {@link DeveloperInfo.Builder} avoiding the need
* to create one manually via {@link DeveloperInfo#builder()}.
*
*
* When the {@link Consumer} completes, {@link DeveloperInfo.Builder#build()} is called immediately and its
* result is passed to {@link #developerInfo(DeveloperInfo)}.
*
* @param developerInfo
* a consumer that will call methods on {@link DeveloperInfo.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #developerInfo(DeveloperInfo)
*/
default Builder developerInfo(Consumer developerInfo) {
return developerInfo(DeveloperInfo.builder().applyMutation(developerInfo).build());
}
}
static final class BuilderImpl implements Builder {
private String productDescription;
private String invocationPhrase;
private String releaseDate;
private String endUserLicenseAgreement;
private List genericKeywords = DefaultSdkAutoConstructList.getInstance();
private List bulletPoints = DefaultSdkAutoConstructList.getInstance();
private List newInThisVersionBulletPoints = DefaultSdkAutoConstructList.getInstance();
private List skillTypes = DefaultSdkAutoConstructList.getInstance();
private Map reviews = DefaultSdkAutoConstructMap.getInstance();
private DeveloperInfo developerInfo;
private BuilderImpl() {
}
private BuilderImpl(SkillDetails model) {
productDescription(model.productDescription);
invocationPhrase(model.invocationPhrase);
releaseDate(model.releaseDate);
endUserLicenseAgreement(model.endUserLicenseAgreement);
genericKeywords(model.genericKeywords);
bulletPoints(model.bulletPoints);
newInThisVersionBulletPoints(model.newInThisVersionBulletPoints);
skillTypes(model.skillTypes);
reviews(model.reviews);
developerInfo(model.developerInfo);
}
public final String getProductDescription() {
return productDescription;
}
public final void setProductDescription(String productDescription) {
this.productDescription = productDescription;
}
@Override
public final Builder productDescription(String productDescription) {
this.productDescription = productDescription;
return this;
}
public final String getInvocationPhrase() {
return invocationPhrase;
}
public final void setInvocationPhrase(String invocationPhrase) {
this.invocationPhrase = invocationPhrase;
}
@Override
public final Builder invocationPhrase(String invocationPhrase) {
this.invocationPhrase = invocationPhrase;
return this;
}
public final String getReleaseDate() {
return releaseDate;
}
public final void setReleaseDate(String releaseDate) {
this.releaseDate = releaseDate;
}
@Override
public final Builder releaseDate(String releaseDate) {
this.releaseDate = releaseDate;
return this;
}
public final String getEndUserLicenseAgreement() {
return endUserLicenseAgreement;
}
public final void setEndUserLicenseAgreement(String endUserLicenseAgreement) {
this.endUserLicenseAgreement = endUserLicenseAgreement;
}
@Override
public final Builder endUserLicenseAgreement(String endUserLicenseAgreement) {
this.endUserLicenseAgreement = endUserLicenseAgreement;
return this;
}
public final Collection getGenericKeywords() {
if (genericKeywords instanceof SdkAutoConstructList) {
return null;
}
return genericKeywords;
}
public final void setGenericKeywords(Collection genericKeywords) {
this.genericKeywords = GenericKeywordsCopier.copy(genericKeywords);
}
@Override
public final Builder genericKeywords(Collection genericKeywords) {
this.genericKeywords = GenericKeywordsCopier.copy(genericKeywords);
return this;
}
@Override
@SafeVarargs
public final Builder genericKeywords(String... genericKeywords) {
genericKeywords(Arrays.asList(genericKeywords));
return this;
}
public final Collection getBulletPoints() {
if (bulletPoints instanceof SdkAutoConstructList) {
return null;
}
return bulletPoints;
}
public final void setBulletPoints(Collection bulletPoints) {
this.bulletPoints = BulletPointsCopier.copy(bulletPoints);
}
@Override
public final Builder bulletPoints(Collection bulletPoints) {
this.bulletPoints = BulletPointsCopier.copy(bulletPoints);
return this;
}
@Override
@SafeVarargs
public final Builder bulletPoints(String... bulletPoints) {
bulletPoints(Arrays.asList(bulletPoints));
return this;
}
public final Collection getNewInThisVersionBulletPoints() {
if (newInThisVersionBulletPoints instanceof SdkAutoConstructList) {
return null;
}
return newInThisVersionBulletPoints;
}
public final void setNewInThisVersionBulletPoints(Collection newInThisVersionBulletPoints) {
this.newInThisVersionBulletPoints = NewInThisVersionBulletPointsCopier.copy(newInThisVersionBulletPoints);
}
@Override
public final Builder newInThisVersionBulletPoints(Collection newInThisVersionBulletPoints) {
this.newInThisVersionBulletPoints = NewInThisVersionBulletPointsCopier.copy(newInThisVersionBulletPoints);
return this;
}
@Override
@SafeVarargs
public final Builder newInThisVersionBulletPoints(String... newInThisVersionBulletPoints) {
newInThisVersionBulletPoints(Arrays.asList(newInThisVersionBulletPoints));
return this;
}
public final Collection getSkillTypes() {
if (skillTypes instanceof SdkAutoConstructList) {
return null;
}
return skillTypes;
}
public final void setSkillTypes(Collection skillTypes) {
this.skillTypes = SkillTypesCopier.copy(skillTypes);
}
@Override
public final Builder skillTypes(Collection skillTypes) {
this.skillTypes = SkillTypesCopier.copy(skillTypes);
return this;
}
@Override
@SafeVarargs
public final Builder skillTypes(String... skillTypes) {
skillTypes(Arrays.asList(skillTypes));
return this;
}
public final Map getReviews() {
if (reviews instanceof SdkAutoConstructMap) {
return null;
}
return reviews;
}
public final void setReviews(Map reviews) {
this.reviews = ReviewsCopier.copy(reviews);
}
@Override
public final Builder reviews(Map reviews) {
this.reviews = ReviewsCopier.copy(reviews);
return this;
}
public final DeveloperInfo.Builder getDeveloperInfo() {
return developerInfo != null ? developerInfo.toBuilder() : null;
}
public final void setDeveloperInfo(DeveloperInfo.BuilderImpl developerInfo) {
this.developerInfo = developerInfo != null ? developerInfo.build() : null;
}
@Override
public final Builder developerInfo(DeveloperInfo developerInfo) {
this.developerInfo = developerInfo;
return this;
}
@Override
public SkillDetails build() {
return new SkillDetails(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}