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

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

There is a newer version: 2.25.61
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.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 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; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy