/* * 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 { /// /// Represents a complete package source tree. /// [DataContract] public partial class Package : IEquatable { /// /// Initializes a new instance of the class. /// /// Type of AST node. /// Package import path. /// Package name. /// Package files. public Package(string type = default, string path = default, string package = default, List files = default) { Type = type; Path = path; _Package = package; Files = files; } /// /// Type of AST node /// /// Type of AST node [DataMember(Name = "type", EmitDefaultValue = false)] public string Type { get; set; } /// /// Package import path /// /// Package import path [DataMember(Name = "path", EmitDefaultValue = false)] public string Path { get; set; } /// /// Package name /// /// Package name [DataMember(Name = "package", EmitDefaultValue = false)] public string _Package { get; set; } /// /// Package files /// /// Package files [DataMember(Name = "files", EmitDefaultValue = false)] public List Files { 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 Package {\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" Path: ").Append(Path).Append("\n"); sb.Append(" _Package: ").Append(_Package).Append("\n"); sb.Append(" Files: ").Append(Files).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 Package); } /// /// Returns true if Package instances are equal /// /// Instance of Package to be compared /// Boolean public bool Equals(Package input) { if (input == null) { return false; } return ( Type == input.Type || Type != null && Type.Equals(input.Type) ) && ( Path == input.Path || Path != null && Path.Equals(input.Path) ) && ( _Package == input._Package || _Package != null && _Package.Equals(input._Package) ) && ( Files == input.Files || Files != null && Files.SequenceEqual(input.Files) ); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Type != null) { hashCode = hashCode * 59 + Type.GetHashCode(); } if (Path != null) { hashCode = hashCode * 59 + Path.GetHashCode(); } if (_Package != null) { hashCode = hashCode * 59 + _Package.GetHashCode(); } if (Files != null) { hashCode = hashCode * 59 + Files.GetHashCode(); } return hashCode; } } } }