=begin #Web API Swagger specification #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) OpenAPI spec version: 1.0 Generated by: https://github.com/swagger-api/swagger-codegen.git Swagger Codegen version: 2.3.0-SNAPSHOT =end require 'date' module AsposeCellsCloud class Validation attr_accessor :link # Represents the value or expression associated with the second part of the data validation. attr_accessor :formula2 # Represents the value or expression associated with the data validation. attr_accessor :formula1 # Indicates whether the data validation error message will be displayed whenever the user enters invalid data. attr_accessor :show_error # Represents the data validation error message. attr_accessor :error_message # Indicates whether data validation displays a drop-down list that contains acceptable values. attr_accessor :in_cell_drop_down # Indicates whether the data validation input message will be displayed whenever the user selects a cell in the data validation range. attr_accessor :show_input # Represents the validation alert style.Information,Stop,Warning attr_accessor :alert_style # Represents the title of the data-validation input dialog box. attr_accessor :input_title # Indicates whether blank values are permitted by the range data validation. attr_accessor :ignore_blank # Represents the first value associated with the data validation. attr_accessor :value2 # Represents the first value associated with the data validation. attr_accessor :value1 # Represents the operator for the data validation. Between,Equal,GreaterThan,GreaterOrEqual,LessThan,LessOrEqual,None,NotBetween,NotEqual attr_accessor :operator # Represents the title of the data-validation error dialog box. attr_accessor :error_title # Represents the data validation type. AnyValue ,WholeNumber,Decimal,List,Date,Time,TextLength,Custom attr_accessor :type # Represents the data validation input message. attr_accessor :input_message # Represents a collection of Aspose.Cells.CellArea which contains the data validation settings. attr_accessor :area_list # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'link' => :'link', :'formula2' => :'Formula2', :'formula1' => :'Formula1', :'show_error' => :'ShowError', :'error_message' => :'ErrorMessage', :'in_cell_drop_down' => :'InCellDropDown', :'show_input' => :'ShowInput', :'alert_style' => :'AlertStyle', :'input_title' => :'InputTitle', :'ignore_blank' => :'IgnoreBlank', :'value2' => :'Value2', :'value1' => :'Value1', :'operator' => :'Operator', :'error_title' => :'ErrorTitle', :'type' => :'Type', :'input_message' => :'InputMessage', :'area_list' => :'AreaList' } end # Attribute type mapping. def self.swagger_types { :'link' => :'Link', :'formula2' => :'String', :'formula1' => :'String', :'show_error' => :'BOOLEAN', :'error_message' => :'String', :'in_cell_drop_down' => :'BOOLEAN', :'show_input' => :'BOOLEAN', :'alert_style' => :'String', :'input_title' => :'String', :'ignore_blank' => :'BOOLEAN', :'value2' => :'String', :'value1' => :'String', :'operator' => :'String', :'error_title' => :'String', :'type' => :'String', :'input_message' => :'String', :'area_list' => :'Array' } end # Initializes the object # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v} if attributes.has_key?(:'link') self.link = attributes[:'link'] end if attributes.has_key?(:'Formula2') self.formula2 = attributes[:'Formula2'] end if attributes.has_key?(:'Formula1') self.formula1 = attributes[:'Formula1'] end if attributes.has_key?(:'ShowError') self.show_error = attributes[:'ShowError'] end if attributes.has_key?(:'ErrorMessage') self.error_message = attributes[:'ErrorMessage'] end if attributes.has_key?(:'InCellDropDown') self.in_cell_drop_down = attributes[:'InCellDropDown'] end if attributes.has_key?(:'ShowInput') self.show_input = attributes[:'ShowInput'] end if attributes.has_key?(:'AlertStyle') self.alert_style = attributes[:'AlertStyle'] end if attributes.has_key?(:'InputTitle') self.input_title = attributes[:'InputTitle'] end if attributes.has_key?(:'IgnoreBlank') self.ignore_blank = attributes[:'IgnoreBlank'] end if attributes.has_key?(:'Value2') self.value2 = attributes[:'Value2'] end if attributes.has_key?(:'Value1') self.value1 = attributes[:'Value1'] end if attributes.has_key?(:'Operator') self.operator = attributes[:'Operator'] end if attributes.has_key?(:'ErrorTitle') self.error_title = attributes[:'ErrorTitle'] end if attributes.has_key?(:'Type') self.type = attributes[:'Type'] end if attributes.has_key?(:'InputMessage') self.input_message = attributes[:'InputMessage'] end if attributes.has_key?(:'AreaList') if (value = attributes[:'AreaList']).is_a?(Array) self.area_list = value end end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properies with the reasons def list_invalid_properties invalid_properties = Array.new return invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? return true end # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) return true if self.equal?(o) self.class == o.class && link == o.link && formula2 == o.formula2 && formula1 == o.formula1 && show_error == o.show_error && error_message == o.error_message && in_cell_drop_down == o.in_cell_drop_down && show_input == o.show_input && alert_style == o.alert_style && input_title == o.input_title && ignore_blank == o.ignore_blank && value2 == o.value2 && value1 == o.value1 && operator == o.operator && error_title == o.error_title && type == o.type && input_message == o.input_message && area_list == o.area_list end # @see the `==` method # @param [Object] Object to be compared def eql?(o) self == o end # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash [link, formula2, formula1, show_error, error_message, in_cell_drop_down, show_input, alert_style, input_title, ignore_blank, value2, value1, operator, error_title, type, input_message, area_list].hash end # Builds the object from hash # @param [Hash] attributes Model attributes in the form of hash # @return [Object] Returns the model itself def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /\AArray<(.*)>/i # check to ensure the input is an array given that the the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end # Deserializes the data based on type # @param string type Data type # @param string value Value to be deserialized # @return [Object] Deserialized data def _deserialize(type, value) case type.to_sym when :DateTime DateTime.parse(value) when :Date Date.parse(value) when :String value.to_s when :Integer value.to_i when :Float value.to_f when :BOOLEAN if value.to_s =~ /\A(true|t|yes|y|1)\z/i true else false end when :Object # generic object (usually a Hash), return directly value when /\AArray<(?.+)>\z/ inner_type = Regexp.last_match[:inner_type] value.map { |v| _deserialize(inner_type, v) } when /\AHash<(?.+?), (?.+)>\z/ k_type = Regexp.last_match[:k_type] v_type = Regexp.last_match[:v_type] {}.tap do |hash| value.each do |k, v| hash[_deserialize(k_type, k)] = _deserialize(v_type, v) end end else # model temp_model = AsposeCellsCloud.const_get(type).new temp_model.build_from_hash(value) end end # Returns the string representation of the object # @return [String] String presentation of the object def to_s to_hash.to_s end # to_body is an alias to to_hash (backward compatibility) # @return [Hash] Returns the object in the form of hash def to_body to_hash end # Returns the object in the form of hash # @return [Hash] Returns the object in the form of hash def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = self.send(attr) next if value.nil? hash[param] = _to_hash(value) end hash end # Outputs non-array value in the form of hash # For object, use to_hash. Otherwise, just return the value # @param [Object] value Any valid value # @return [Hash] Returns the value in the form of hash def _to_hash(value) if value.is_a?(Array) value.compact.map{ |v| _to_hash(v) } elsif value.is_a?(Hash) {}.tap do |hash| value.each { |k, v| hash[k] = _to_hash(v) } end elsif value.respond_to? :to_hash value.to_hash else value end end end end