/* * Copyright 2018-2023 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 com.amazonaws.services.quicksight.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* The display options of a control. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DateTimePickerControlDisplayOptions implements Serializable, Cloneable, StructuredPojo { /** ** The options to configure the title visibility, name, and font size. *
*/ private LabelOptions titleOptions; /** ** Customize how dates are formatted in controls. *
*/ private String dateTimeFormat; /** ** The configuration of info icon label options. *
*/ private SheetControlInfoIconLabelOptions infoIconLabelOptions; /** ** The options to configure the title visibility, name, and font size. *
* * @param titleOptions * The options to configure the title visibility, name, and font size. */ public void setTitleOptions(LabelOptions titleOptions) { this.titleOptions = titleOptions; } /** ** The options to configure the title visibility, name, and font size. *
* * @return The options to configure the title visibility, name, and font size. */ public LabelOptions getTitleOptions() { return this.titleOptions; } /** ** The options to configure the title visibility, name, and font size. *
* * @param titleOptions * The options to configure the title visibility, name, and font size. * @return Returns a reference to this object so that method calls can be chained together. */ public DateTimePickerControlDisplayOptions withTitleOptions(LabelOptions titleOptions) { setTitleOptions(titleOptions); return this; } /** ** Customize how dates are formatted in controls. *
* * @param dateTimeFormat * Customize how dates are formatted in controls. */ public void setDateTimeFormat(String dateTimeFormat) { this.dateTimeFormat = dateTimeFormat; } /** ** Customize how dates are formatted in controls. *
* * @return Customize how dates are formatted in controls. */ public String getDateTimeFormat() { return this.dateTimeFormat; } /** ** Customize how dates are formatted in controls. *
* * @param dateTimeFormat * Customize how dates are formatted in controls. * @return Returns a reference to this object so that method calls can be chained together. */ public DateTimePickerControlDisplayOptions withDateTimeFormat(String dateTimeFormat) { setDateTimeFormat(dateTimeFormat); return this; } /** ** The configuration of info icon label options. *
* * @param infoIconLabelOptions * The configuration of info icon label options. */ public void setInfoIconLabelOptions(SheetControlInfoIconLabelOptions infoIconLabelOptions) { this.infoIconLabelOptions = infoIconLabelOptions; } /** ** The configuration of info icon label options. *
* * @return The configuration of info icon label options. */ public SheetControlInfoIconLabelOptions getInfoIconLabelOptions() { return this.infoIconLabelOptions; } /** ** The configuration of info icon label options. *
* * @param infoIconLabelOptions * The configuration of info icon label options. * @return Returns a reference to this object so that method calls can be chained together. */ public DateTimePickerControlDisplayOptions withInfoIconLabelOptions(SheetControlInfoIconLabelOptions infoIconLabelOptions) { setInfoIconLabelOptions(infoIconLabelOptions); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getTitleOptions() != null) sb.append("TitleOptions: ").append(getTitleOptions()).append(","); if (getDateTimeFormat() != null) sb.append("DateTimeFormat: ").append(getDateTimeFormat()).append(","); if (getInfoIconLabelOptions() != null) sb.append("InfoIconLabelOptions: ").append(getInfoIconLabelOptions()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DateTimePickerControlDisplayOptions == false) return false; DateTimePickerControlDisplayOptions other = (DateTimePickerControlDisplayOptions) obj; if (other.getTitleOptions() == null ^ this.getTitleOptions() == null) return false; if (other.getTitleOptions() != null && other.getTitleOptions().equals(this.getTitleOptions()) == false) return false; if (other.getDateTimeFormat() == null ^ this.getDateTimeFormat() == null) return false; if (other.getDateTimeFormat() != null && other.getDateTimeFormat().equals(this.getDateTimeFormat()) == false) return false; if (other.getInfoIconLabelOptions() == null ^ this.getInfoIconLabelOptions() == null) return false; if (other.getInfoIconLabelOptions() != null && other.getInfoIconLabelOptions().equals(this.getInfoIconLabelOptions()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTitleOptions() == null) ? 0 : getTitleOptions().hashCode()); hashCode = prime * hashCode + ((getDateTimeFormat() == null) ? 0 : getDateTimeFormat().hashCode()); hashCode = prime * hashCode + ((getInfoIconLabelOptions() == null) ? 0 : getInfoIconLabelOptions().hashCode()); return hashCode; } @Override public DateTimePickerControlDisplayOptions clone() { try { return (DateTimePickerControlDisplayOptions) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.quicksight.model.transform.DateTimePickerControlDisplayOptionsMarshaller.getInstance().marshall(this, protocolMarshaller); } }