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.
* @return A new ViewMultiExternalSelect builder
*/publicstatic ViewMultiExternalSelect.Builder builder(){
returnnew ViewMultiExternalSelect.Builder();
}
/**
* Builds instances of type {@link ViewMultiExternalSelect ViewMultiExternalSelect}.
* Initialize attributes and then invoke the {@link #build()} method to create an
* immutable instance.
*
{@code Builder} is not thread-safe and generally should not be stored in a field or collection,
* but instead used immediately to create instances.
*/
@Generated(from = "ViewMultiExternalSelectIF", generator = "Immutables")
@NotThreadSafepublicstaticfinalclassBuilder{
privatestaticfinallong INIT_BIT_TYPE = 0x1L;
privatelong initBits = 0x1L;
private@Nullable ViewInputType type;
private@Nullable String stringValue;
private List
selectedOptions = new ArrayList
();
privateBuilder(){
}
/**
* Fill a builder with attribute values from the provided {@code com.hubspot.slack.client.models.interaction.views.ViewMultiExternalSelectIF} instance.
* @param instance The instance from which to copy values
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder from(ViewMultiExternalSelectIF instance){
Objects.requireNonNull(instance, "instance");
from((short) 0, (Object) instance);
returnthis;
}
/**
* Fill a builder with attribute values from the provided {@code com.hubspot.slack.client.models.interaction.views.ViewInput} instance.
* @param instance The instance from which to copy values
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder from(ViewInput instance){
Objects.requireNonNull(instance, "instance");
from((short) 0, (Object) instance);
returnthis;
}
/**
* Fill a builder with attribute values from the provided {@code com.hubspot.slack.client.models.interaction.views.ViewMultiSelect} instance.
* @param instance The instance from which to copy values
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder from(ViewMultiSelect instance){
Objects.requireNonNull(instance, "instance");
from((short) 0, (Object) instance);
returnthis;
}
privatevoidfrom(short _unused, Object object){
long bits = 0;
if (object instanceof ViewMultiExternalSelectIF) {
ViewMultiExternalSelectIF instance = (ViewMultiExternalSelectIF) object;
if ((bits & 0x1L) == 0) {
this.setType(instance.getType());
bits |= 0x1L;
}
if ((bits & 0x4L) == 0) {
addAllSelectedOptions(instance.getSelectedOptions());
bits |= 0x4L;
}
if ((bits & 0x2L) == 0) {
Optional stringValueOptional = instance.getStringValue();
if (stringValueOptional.isPresent()) {
setStringValue(stringValueOptional);
}
bits |= 0x2L;
}
}
if (object instanceof ViewInput) {
ViewInput instance = (ViewInput) object;
if ((bits & 0x1L) == 0) {
this.setType(instance.getType());
bits |= 0x1L;
}
if ((bits & 0x2L) == 0) {
Optional stringValueOptional = instance.getStringValue();
if (stringValueOptional.isPresent()) {
setStringValue(stringValueOptional);
}
bits |= 0x2L;
}
}
if (object instanceof ViewMultiSelect) {
ViewMultiSelect instance = (ViewMultiSelect) object;
if ((bits & 0x1L) == 0) {
this.setType(instance.getType());
bits |= 0x1L;
}
if ((bits & 0x4L) == 0) {
addAllSelectedOptions(instance.getSelectedOptions());
bits |= 0x4L;
}
if ((bits & 0x2L) == 0) {
Optional stringValueOptional = instance.getStringValue();
if (stringValueOptional.isPresent()) {
setStringValue(stringValueOptional);
}
bits |= 0x2L;
}
}
}
/**
* Initializes the value for the {@link ViewMultiExternalSelectIF#getType() type} attribute.
* @param type The value for type
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder setType(ViewInputType type){
this.type = Objects.requireNonNull(type, "type");
initBits &= ~INIT_BIT_TYPE;
returnthis;
}
/**
* Initializes the optional value {@link ViewMultiExternalSelectIF#getStringValue() stringValue} to stringValue.
* @param stringValue The value for stringValue, {@code null} is accepted as {@code java.util.Optional.empty()}
* @return {@code this} builder for chained invocation
*/publicfinal Builder setStringValue(@Nullable String stringValue){
this.stringValue = stringValue;
returnthis;
}
/**
* Initializes the optional value {@link ViewMultiExternalSelectIF#getStringValue() stringValue} to stringValue.
* @param stringValue The value for stringValue
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder setStringValue(Optional stringValue){
this.stringValue = stringValue.orElse(null);
returnthis;
}
/**
* Adds one element to {@link ViewMultiExternalSelectIF#getSelectedOptions() selectedOptions} list.
* @param element A selectedOptions element
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder addSelectedOptions(Option element){
this.selectedOptions.add(Objects.requireNonNull(element, "selectedOptions element"));
returnthis;
}
/**
* Adds elements to {@link ViewMultiExternalSelectIF#getSelectedOptions() selectedOptions} list.
* @param elements An array of selectedOptions elements
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder addSelectedOptions(Option... elements){
for (Option element : elements) {
this.selectedOptions.add(Objects.requireNonNull(element, "selectedOptions element"));
}
returnthis;
}
/**
* Sets or replaces all elements for {@link ViewMultiExternalSelectIF#getSelectedOptions() selectedOptions} list.
* @param elements An iterable of selectedOptions elements
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder setSelectedOptions(Iterable elements){
this.selectedOptions.clear();
return addAllSelectedOptions(elements);
}
/**
* Adds elements to {@link ViewMultiExternalSelectIF#getSelectedOptions() selectedOptions} list.
* @param elements An iterable of selectedOptions elements
* @return {@code this} builder for use in a chained invocation
*/publicfinal Builder addAllSelectedOptions(Iterable elements){
for (Option element : elements) {
this.selectedOptions.add(Objects.requireNonNull(element, "selectedOptions element"));
}
returnthis;
}
/**
* Builds a new {@link ViewMultiExternalSelect ViewMultiExternalSelect}.
* @return An immutable instance of ViewMultiExternalSelect
* @throws com.hubspot.immutables.validation.InvalidImmutableStateException if any required attributes are missing
*/public ViewMultiExternalSelect build(){
checkRequiredAttributes();
returnnew ViewMultiExternalSelect(type, stringValue, createUnmodifiableList(true, selectedOptions));
}
privatebooleantypeIsSet(){
return (initBits & INIT_BIT_TYPE) == 0;
}
privatevoidcheckRequiredAttributes(){
if (initBits != 0) {
thrownew InvalidImmutableStateException(formatRequiredAttributesMessage());
}
}
private String formatRequiredAttributesMessage(){
List attributes = new ArrayList<>();
if (!typeIsSet()) attributes.add("type");
return"Cannot build ViewMultiExternalSelect, some of required attributes are not set " + attributes;
}
}
privatestatic ListcreateSafeList(Iterable iterable, boolean checkNulls, boolean skipNulls){
ArrayList list;
if (iterable instanceof Collection) {
int size = ((Collection) iterable).size();
if (size == 0) return Collections.emptyList();
list = new ArrayList<>(size);
} else {
list = new ArrayList<>();
}
for (T element : iterable) {
if (skipNulls && element == null) continue;
if (checkNulls) Objects.requireNonNull(element, "element");
list.add(element);
}
return list;
}
privatestatic ListcreateUnmodifiableList(boolean clone, List list){
switch(list.size()) {
case0: return Collections.emptyList();
case1: return Collections.singletonList(list.get(0));
default:
if (clone) {
return Collections.unmodifiableList(new ArrayList<>(list));
} else {
if (list instanceof ArrayList) {
((ArrayList) list).trimToSize();
}
return Collections.unmodifiableList(list);
}
}
}
}