/*
* InfluxDB OSS API Service
*
* The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint.
*
* OpenAPI spec version: 2.0.0
*
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using OpenAPIDateConverter = InfluxDB.Client.Api.Client.OpenAPIDateConverter;
namespace InfluxDB.Client.Api.Domain
{
///
/// TableViewPropertiesTableOptions
///
[DataContract]
public partial class TableViewPropertiesTableOptions : IEquatable
{
///
/// Wrapping describes the text wrapping style to be used in table views
///
/// Wrapping describes the text wrapping style to be used in table views
[JsonConverter(typeof(StringEnumConverter))]
public enum WrappingEnum
{
///
/// Enum Truncate for value: truncate
///
[EnumMember(Value = "truncate")] Truncate = 1,
///
/// Enum Wrap for value: wrap
///
[EnumMember(Value = "wrap")] Wrap = 2,
///
/// Enum SingleLine for value: single-line
///
[EnumMember(Value = "single-line")] SingleLine = 3
}
///
/// Wrapping describes the text wrapping style to be used in table views
///
/// Wrapping describes the text wrapping style to be used in table views
[DataMember(Name = "wrapping", EmitDefaultValue = false)]
public WrappingEnum? Wrapping { get; set; }
///
/// Initializes a new instance of the class.
///
/// verticalTimeAxis describes the orientation of the table by indicating whether the time axis will be displayed vertically.
/// sortBy.
/// Wrapping describes the text wrapping style to be used in table views.
/// fixFirstColumn indicates whether the first column of the table should be locked.
public TableViewPropertiesTableOptions(bool? verticalTimeAxis = default, RenamableField sortBy = default,
WrappingEnum? wrapping = default, bool? fixFirstColumn = default)
{
VerticalTimeAxis = verticalTimeAxis;
SortBy = sortBy;
Wrapping = wrapping;
FixFirstColumn = fixFirstColumn;
}
///
/// verticalTimeAxis describes the orientation of the table by indicating whether the time axis will be displayed vertically
///
/// verticalTimeAxis describes the orientation of the table by indicating whether the time axis will be displayed vertically
[DataMember(Name = "verticalTimeAxis", EmitDefaultValue = false)]
public bool? VerticalTimeAxis { get; set; }
///
/// Gets or Sets SortBy
///
[DataMember(Name = "sortBy", EmitDefaultValue = false)]
public RenamableField SortBy { get; set; }
///
/// fixFirstColumn indicates whether the first column of the table should be locked
///
/// fixFirstColumn indicates whether the first column of the table should be locked
[DataMember(Name = "fixFirstColumn", EmitDefaultValue = false)]
public bool? FixFirstColumn { get; set; }
///
/// Returns the string presentation of the object
///
/// String presentation of the object
public override string ToString()
{
var sb = new StringBuilder();
sb.Append("class TableViewPropertiesTableOptions {\n");
sb.Append(" VerticalTimeAxis: ").Append(VerticalTimeAxis).Append("\n");
sb.Append(" SortBy: ").Append(SortBy).Append("\n");
sb.Append(" Wrapping: ").Append(Wrapping).Append("\n");
sb.Append(" FixFirstColumn: ").Append(FixFirstColumn).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
///
/// Returns the JSON string presentation of the object
///
/// JSON string presentation of the object
public virtual string ToJson()
{
return JsonConvert.SerializeObject(this, Formatting.Indented);
}
///
/// Returns true if objects are equal
///
/// Object to be compared
/// Boolean
public override bool Equals(object input)
{
return Equals(input as TableViewPropertiesTableOptions);
}
///
/// Returns true if TableViewPropertiesTableOptions instances are equal
///
/// Instance of TableViewPropertiesTableOptions to be compared
/// Boolean
public bool Equals(TableViewPropertiesTableOptions input)
{
if (input == null)
{
return false;
}
return
(
VerticalTimeAxis == input.VerticalTimeAxis ||
VerticalTimeAxis != null && VerticalTimeAxis.Equals(input.VerticalTimeAxis)
) && SortBy != null && SortBy.Equals(input.SortBy) && (
Wrapping == input.Wrapping ||
Wrapping.Equals(input.Wrapping)
) && (
FixFirstColumn == input.FixFirstColumn ||
FixFirstColumn != null && FixFirstColumn.Equals(input.FixFirstColumn)
);
}
///
/// Gets the hash code
///
/// Hash code
public override int GetHashCode()
{
unchecked // Overflow is fine, just wrap
{
var hashCode = 41;
if (VerticalTimeAxis != null)
{
hashCode = hashCode * 59 + VerticalTimeAxis.GetHashCode();
}
if (SortBy != null)
{
hashCode = hashCode * 59 + SortBy.GetHashCode();
}
hashCode = hashCode * 59 + Wrapping.GetHashCode();
if (FixFirstColumn != null)
{
hashCode = hashCode * 59 + FixFirstColumn.GetHashCode();
}
return hashCode;
}
}
}
}